我有一個表ExchangeUserMailbox
的列HAVING MAX(值)未在SQL Server查詢工作
- OrganisationID(GUID)
- MailboxLocationName(STRING)
- MailboxCode(STRING)
- DayofMon (INT)
- UPN(STRING)
的POSS DayofMon
的Ible值是「15」和「30」(我有數據在每個月的兩天中都會發送到這個表格中,例如: - 第14和第30,15或31)
我正在運行以下SQL腳本
SELECT
[OrganisationID]
,[MailboxLocationName] AS Location
,MailboxCode as LocationCode
,DayofMon
,COUNT(DISTINCT [UPN]) AS [Count]
FROM
[ExchangeUserMailbox]
GROUP BY
[OrganisationID], [MailboxLocationName], DayofMon, MailboxCode
HAVING
DayofMon = MAX(DayofMon)
我的目的是讓所有的記錄與DayofMon
最大值和聚集的UPN的計數。
但在輸出窗口我得到
OrganisationID Location LocationCode DayofMon Count
2EC8650F-8902-4CFB-BE0E-A218982EDEEC Diffraction DIF 1 3
2EC8650F-8902-4CFB-BE0E-A218982EDEEC Diffraction DIF 30 10
正如你可以看到它聚集dayofmon= 1
和dayofmon=30
。但我只想彙總dayofmon=30
我在這裏做錯了什麼?
我覺得你的'HAVING'子句在這裏沒用。如果你想要30,那麼你應該: 'HAVING MAX(DayofMon)= 30' –
另外,收集數據在30日並不是很好,因爲不是每個月*有* 30日(即2月)。我會親自選擇1號和15號。 –