最近在做数据统计,返回给前端,数据的日期还不能断,简短的做个记录
我把sql分成两个部分来做,相当于是两个结果集左关联
第一部分先做一张日期不断的时间表(月份表,年份表)
select date_add('2022-03-20',interval @i:=@i+1 day) as date from
(
select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
) as tmp,(select @i:= -1) t
date_add('2022-03-20',interval @i:=@i+1 day)代表在这个日期基础上加1天
(@i:=@i+1)代表定义一个变量,每次叠加1;
(SELECT @i:=-1) AS t代表建立一个临时表,t是随便取的表名,但别名一定要的。
为什么等于-1因为要算上2022-03-20这一天所以是从0开始加的.
UNION ALL 命令会列出所有的值。效果如下