小编典典

在没有记录的日期获得“ ero”计数

sql

因此,我要计算系统中用户的活动记录。我得到特定月份和年份中每一天的活动计数器,就像下面的查询一样

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在计数器中添加。

显然,接受建议!


阅读 171

收藏
2021-03-17

共1个答案

小编典典

创建一个包含所有日期的表。然后对“活动”表进行左连接。按日期分组,然后COUNT在Activity.id上执行。左联接可确保将日期表中的所有日期都包括在结果集中,即使它们在联接子句中不匹配也是如此。

2021-03-17