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_date) AS datatime, COUNT(*) AS COUNT FROM iot_alarm GROUP BY DATE(create_date) ) b ON a.click_date = b.datatime