MYSQL 统计日期时 缺少天数时补齐(2022-01-22)
1、背景
描述:做图表时,可能会遇到查询某一段日期数据,其中一天没有数据,但是必须统计前N天的数据, 使用此条SQL 可以生成数据为空的天数
注:click_date 填充后的日期
count 日期下的数据
// An highlighted block
SELECT
a.click_date,
IFNULL( b.count, 0 ) AS count
FROM
(
SELECT
CURDATE() AS click_date UNION ALL
SELECT
DATE_SUB( CURDATE(), INTERVAL 1 DAY ) AS click_date UNION ALL
SELECT
DATE_SUB( CURDATE(), INTERVAL 2 DAY ) AS click_date UNION ALL
SELECT
DATE_SUB( CURDATE(), INTERVAL 3 DAY ) AS click_date UNION ALL
SELECT
DATE_SUB( CURDATE(), INTERVAL 4 DAY ) AS click_date UNION ALL
SELECT
DATE_SUB( CURDATE(), INTERVAL 5 DAY ) AS click_date UNION ALL
SELECT
DATE_SUB( CURDATE(), INTERVAL 6 DAY ) AS click_date
) a
LEFT JOIN ( SELECT DATE( create_time ) date, create_time, "统计值" AS count FROM "表名" WHERE DATEDIFF( NOW(), create_time )<= 7 ) b ON a.click_date = b.date;
2、配图
版权声明:本文为hjxxxxxxxxx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。