我有一个大表,其中包含c650,000条记录。他们是具有电子邮件地址的个人,并且字段之一是“ dateOfApplication”。我被要求提供每个月有多少人签约的明细。
我希望结果看起来像
Month Year Total
1 2017 50763
2 2017 34725
并以这种格式制作了一个目标表来放入结果。我已经能够使用Month(dateOfApplication)来使用获取日期的月份部分
SELECT DISTINCT
(SELECT COUNT(1) FROM [UG_Master]
WHERE MONTH([UG_Master].dateOfApplication) = '6') as Total
要返回特定的月份,但真的不知道如何在找到的每个月份获得一行。
答案 0 :(得分:1)
但真的不知道如何在找到的每个月获得一行。
您可以使用GROUP BY
:
SELECT MONTH([UG_Master].dateOfApplication), COUNT(1)
FROM [UG_Master]
GROUP BY MONTH([UG_Master].dateOfApplication);
如果您想要year
明智的month
,则还应包括年份:
SELECT YEAR([UG_Master].dateOfApplication), MONTH([UG_Master].dateOfApplication), COUNT(1)
FROM [UG_Master]
GROUP BY YEAR([UG_Master].dateOfApplication), MONTH([UG_Master].dateOfApplication);