看你的樣本數據,我不完全知道什麼是對分組計數根據最新記錄的條件。
這個充滿工作示例,展示如何在聚合函數添加filter
標準:
DECLARE @DataSource TABLE
(
[Record] TINYINT
,[applicant_count] TINYINT
,[applicant_date] DATETIME2
,[accepted_count] TINYINT
,[accepted_date] DATETIME2
,[registered_count] TINYINT
,[registered_date] DATETIME2
)
INSERT INTO @DataSource ([Record], [applicant_count], [applicant_date], [accepted_count], [accepted_date], [registered_count], [registered_date])
VALUES (1, 11, '03/01/2014', NULL, NULL, NULL, NULL)
,(2, 12, '02/01/2014', 12, '03/01/2014', 11, '05/05/2014')
,(3, 13, '04/05/2014', 13, '05/01/2014', 10, '05/01/2014')
,(4, 14, '02/01/2014', 11, '04/05/2014', NULL, NULL)
,(5, 15, '04/05/2014', NULL, NULL, NULL, NULL)
DECLARE @Date DATETIME2 = '4/20/2014'
SELECT SUM(IIF([applicant_date] = '4/05/2014', [applicant_count], 0)) AS [applicant_date]
,SUM(IIF([applicant_date] = '4/05/2014', [accepted_count], 0)) AS [accepted_count]
,SUM(IIF([applicant_date] = '4/05/2014', [registered_count], 0)) AS [registered_count]
FROM @DataSource
注重在SUM
的條件:,
IIF([applicant_date] = '4/05/2014', [applicant_count], 0)
這意味着,如果日期等於我們正在總結的結果,如果沒有,加入0
。你可以隨意改變狀態,只要你喜歡。
希望得到這個幫助。
你想讓計數成爲前幾天的總計,還是隻對那一天的活動感興趣? –
我正在尋找基於給定日期的前幾天所有日期的總計。我根據日期總結了部分記錄的複雜性。例如,2014年4月的某個日期生成的任何查詢都不應顯示任何已註冊的計數,因爲這些事件發生在2014年5月。 – user3613294