常用SQL - 查询指定日期区间内的数据,无数据记录的日期数据填充0

-常用SQL - 查询指定日期区间内的数据,无数据记录的日期数据填充0

SELECT a.curr_date AS date, IFNULL(b.data,0) AS data
        FROM (
            SELECT date_sub(curdate(), interval 6 day) AS curr_date
            UNION ALL
            SELECT date_sub(curdate(), interval 5 day) AS curr_date
            UNION ALL
            SELECT date_sub(curdate(), interval 4 day) AS curr_date
            UNION ALL
            SELECT date_sub(curdate(), interval 3 day) AS curr_date
            UNION ALL
            SELECT date_sub(curdate(), interval 2 day) AS curr_date
            UNION ALL
            SELECT date_sub(curdate(), interval 1 day) AS curr_date
            UNION ALL
            SELECT curdate() as curr_date
        )a LEFT JOIN (
            SELECT createtime, data
            FROM `datatable`
            WHERE createtime BETWEEN DATE_SUB(CURRENT_DATE(),INTERVAL
            1 WEEK) AND
            CURRENT_DATE()
            ORDER BY createtime
        ) b ON a.curr_date = date
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容