这似乎应该很容易,但我似乎无法弄清楚。我有一张桌子,上面有Artifact
名字和Modification_Date
其他东西。我有一个查询,按月获取文档修改次数。有几个月没有修改。由于我正在查询和分组,Modification_Date
因此这些月份没有返回结果,没有进行任何修改。理想情况下,在结果集中,我希望那里的月份和 0 为Quantity
.
SELECT CONVERT(NVARCHAR(7), Modification_Date, 120) [Month],
COUNT(Artifact) as Quantity
FROM table
WHERE Modification_Date > DATEADD(month, -6, getdate())
GROUP BY CONVERT(NVARCHAR(7), Modification_Date, 120)
ORDER BY [Month] DESC
这让我得到类似的结果:
Month Quantity
------- --------
2013-02 10
2012-11 12
2012-10 5
2012-09 29
如您所见,2012 年 12 月和 2013 年 1 月这两个月份不在结果集中。我想在那里用 0 表示这些月份,Quantity
以便我可以在 SQL 报告条形图中使用该数据并将这些月份用 0 值表示。目前在条形图上它完全跳过了这些月份。有没有办法生成yyyy-mm
Month
过去 6 个月的列,而不仅仅是使用Modification_Date
?