SQL按日期分组,但也得到没有记录的日期

cee*_*yoz 2 mysql group-by

是否有一种简单的方法可以GROUP BY DATE(timestamp)包含一段时间内的所有日子,无论是否有与该日期相关的记录?

基本上,我需要生成一个这样的报告:

24 Dec - 0 orders
23 Dec - 10 orders
22 Dec - 8 orders
21 Dec - 2 orders
20 Dec - 0 orders
Run Code Online (Sandbox Code Playgroud)

Joh*_*son 5

假设你有比日期更多的订单这样的东西可以工作:

select date, count(id) as orders
from
(
  SELECT DATE_ADD('2008-01-01', INTERVAL @rn:=@rn+1 DAY) as date from (select @rn:=-1)t, `order` limit 365
) d left outer join `order` using (date)
group by date
Run Code Online (Sandbox Code Playgroud)