sql统计一段时间内每天的数据量,但是数据库内的日期不连续

浏览:974 发布日期:2018/03/08 分类:技术分享 关键字: 统计 生成连续时间
因为时间不连续所以根据时间分组会造成数据不全。
所以 在查询的时候 先用sql生成时间段范围内的日期 列表作为临时的数据集,然后查询数据库的数据 然后两个数据集做连接 即可;

生成一段时间内的连续的时间(天、月、年的类似):
SELECT DISTINCT * from (select date_format(date_add('2021-01-01',interval @i:=@i+1 day),'%Y-%m') 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 ) p ,(select @i:=-1) as tmp) c;

只需要修改 date_formt 里面的时间格式即可 获取年、年-月、年-月-日

其中 临时表p 里面的 select 1 nuion all 的数量 可以通过php处理生成 然后去掉最后面的 nuion all 然后拼成sql 执行,但是 计算循环次数的时候 可以通过php 计算出两个日期之间相差的天数 然后

在这个天数上+1 计算出循环的次数 然后就可以了
最佳答案
评论( 相关
后面还有条评论,点击查看>>