MYSQL 统计日期时 缺少天数时补齐

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版权协议,转载请附上原文出处链接和本声明。