我目前正在使用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
我得到以下结果。
但是,由于我要经历过去一周,所以我也想要没有这样的行的日子:
我将如何做到这一点?
答案 0 :(得分: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`)