SQL Server查询每月总计

Mit*_*tch 7 sql-server totals

我有一个查询,总计了2010年1月1日所有活动的案例.

SELECT     COUNT(CaseID) AS Total
FROM         dbo.ClientCase
WHERE     (CaseStartDate <= CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND (CaseClosedDate >= CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) OR (CaseClosedDate IS NULL)
GROUP BY CaseStartDate
Run Code Online (Sandbox Code Playgroud)

我还有一个Calendar表,我可以使用它创建一个查询,从1月1日,2月1日,3月1日到12月1日返回12个日期.

我无法弄清楚如何组合2个查询,所以我得到每个月1日的所有案例总数的计数.

我需要看到类似的东西

Month   Total
Jan     102
Feb     130
Mar     145
.....
Dec     162
Run Code Online (Sandbox Code Playgroud)

Jag*_*mag 5

SELECT cal.MonthName, COUNT(CaseID) AS Total 
FROM dbo.calendarTable cal
LEFT OUTER JOIN dbo.ClientCase cc
ON Month(cal.MonthStartDate) = Month(CaseStartDate)
WHERE 
(CaseStartDate <= CONVERT(DATETIME, cal.MonthStartDate, 102)) AND 
(CaseClosedDate >= CONVERT(DATETIME, cal.MonthStartDate, 102)) OR 
(CaseClosedDate IS NULL) 
GROUP BY cal.MonthName
Run Code Online (Sandbox Code Playgroud)
  • 左外连接以确保您获得所有月份,包括0个案例