我對SQL沒有那麼強大,並且需要一些幫助來弄清楚如何獲得記錄集中返回的數字。SQL - 如何SUM GROUP BY記錄集?
這是我在多大程度上與查詢到目前爲止得到:
SELECT DATEDIFF(m, originalretaildate, getdate()) AS age_in_months, count(email) AS number_of_valid_emails
FROM #result2
WHERE originalretaildate BETWEEN '20140415' AND GETDATE()
GROUP BY DATEDIFF(m, originalretaildate, getdate())
ORDER BY 1
這給了我下面的結果:
age_in_months number_of_valid_emails
-----------------------------
0 63
1 2066
2 1528
3 2449
4 1882
5 1835
6 1772
7 2190
8 2321
9 2172
10 2635
11 1336
12 601
我需要得到的是一個總和(總)所有這些數字。我很樂意把它放在底部,或者甚至只是一個數字返回。
因此,像這樣:
age_in_months number_of_valid_emails
-----------------------------
0 63
1 2066
... ...
SUM 2129
任何幫助將非常感激。
它到達那裏,我的SQL查詢現在看起來是這樣的:
SELECT DATEDIFF(m, originalretaildate, getdate()) AS age_in_months,
count(email) AS number_of_valid_emails
FROM #result2
WHERE originalretaildate BETWEEN '20140415' AND GETDATE()
GROUP BY DATEDIFF(m, originalretaildate, getdate()) WITH ROLLUP
ORDER BY 2 ASC
這給了我這樣的:
0 65
--------
12 598
11 1329
2 1530
6 1777
5 1830
4 1875
1 2049
9 2176
7 2200
8 2319
3 2442
10 2631
NULL 22821
我現在的問題是,它說, 'NULL' 的最後一行。任何想法如何解決這個問題,所以它說'總'或'總和'?
如何像' WITH()AS Q1選擇*從Q1聯盟所有選擇'SUM',SUM(number_of_valid_emails)FROM Q1'? –
Turophile
@louism看到編輯 –