使用SQL中的Month(dateField)对每个月的记录进行计数

时间:2018-10-17 13:52:48

标签: sql date datetime datetime-format salesforce-marketing-cloud

我有一个大表,其中包含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

要返回特定的月份,但真的不知道如何在找到的每个月份获得一行。

1 个答案:

答案 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);