【发布时间】:2019-04-24 21:58:07
【问题描述】:
我当前的查询基于检索 2018 年的数据:
SELECT DATENAME(MONTH, STARTDATE) AS MonthName, COUNT (*) AS TOTAL
FROM TABLEUSERS
WHERE YEAR(STARTDATE) = '2018'
GROUP BY MONTH(STARTDATE), DATENAME(MONTH,STARTDATE)
结果:
MonthName | TOTAL
January | 25
February | 20
March | 40
April | 11
May | 30
June | 0
July | 0
August | 0
September | 7
October | 55
November | 13
December | 0
如您所见,它正在检索列表中 2018 年的 12 月,我不想显示 12 月,我只想查看过去所有月份的数据通过(截至目前的 11 月)。
结果还必须包含计数为零的月份。
【问题讨论】:
-
然后添加条件
AND MONTH(STARTDATE) <= MONTH(GETDATE()) -
该查询不会产生该结果。所以我不确定你在这里要求什么。
-
@Squirrel 这工作正常,但它实际上也删除了零计数之间的月份,我怎样才能只在即将到来的月份做到这一点
标签: sql sql-server date sql-server-2008 datetime