因此,我要计算系统中用户的活动记录。我得到特定月份和年份中每一天的活动计数器,就像下面的查询一样
SELECT CONVERT(date, VIS_DATETIME) AS DATETIME, COUNT(*) AS ACTIVITY FROM ACTIVITY WHERE DATEPART(year, VIS_DATETIME) = 2016 AND DATEPART(month, VIS_DATETIME) = 3 GROUP BY CONVERT(date, VIS_DATETIME) ORDER BY CONVERT(date, VIS_DATETIME)
问题是,如果说3月28日没有任何活动,甚至没有列出它。但是,对于我的图表API,我需要将其列出并0在计数器中添加。
0
显然,接受建议!
创建一个包含所有日期的表。然后对“活动”表进行左连接。按日期分组,然后COUNT在Activity.id上执行。左联接可确保将日期表中的所有日期都包括在结果集中,即使它们在联接子句中不匹配也是如此。
COUNT