【发布时间】:2014-07-29 00:17:44
【问题描述】:
我想获取最近 6 个月的计数记录,并按月显示。如果该月没有任何记录,我需要显示 0。
我的查询是
DECLARE @Date1 DATETIME, @Date2 DATETIME
SET @Date1 = GETDATE()
SET @Date2 = DateAdd(month, -6, Convert(CHAR(10), @Date1, 121))
SELECT
DATENAME(MONTH,IssueDate) [Month Name], COUNT(1) [Count]
FROM
CompetitiveProcess
WHERE
IssueDate BETWEEN @Date2 AND @Date1
GROUP BY
YEAR(IssueDate), MONTH(IssueDate), DATENAME(MONTH, IssueDate)
但没有显示没有任何行的月份。谁能帮我解决这个问题?
【问题讨论】:
-
创建一个表(临时工作),每个月都有 1 行(你可以做一个快速循环来动态填充它)。从查询中的该表开始,然后将其加入计数查询。如果您搜索它,应该是 Stack Overflow 上的大量示例
-
stackoverflow.com/questions/23300303/… 我认为这个答案对你有用
-
感谢您的快速回复,我从这个帖子stackoverflow.com/questions/16968809/…得到了答案
标签: sql sql-server