1

我目前正在使用 MySQL 来计算过去一周按日期创建的行数。这是我的表的示例:
我的桌子
使用以下 SQL 查询(考虑到它是 2013 年 4 月 20 日)

SELECT DATE(Date) AS Date,
       COUNT(id) AS Count
FROM notes
WHERE UNIX_TIMESTAMP(Date) + 604800 >= UNIX_TIMESTAMP()
GROUP BY DAY(Date)
ORDER BY Date ASC

我得到以下结果。
输出
但是,由于我正在经历过去的一周,我还想要没有这样的行的日子:

期望的输出

我将如何做到这一点?

4

1 回答 1

3

我相信最简单的方法是

select a.*, b.`Count`
   FROM 
   (
   select date(now()) as dt 
   union all
   select date(now()-interval 1 day)
   -- then the same for - 2 day, -3 , etc
   )a
   LEFT JOIN 
   (
     --your query
   )b ON (a.dt = b.`date`)
于 2013-04-19T19:47:19.063 回答