mysql圖表統計,補全日期

SELECT
    od.date,
    SUM(od.money)
FROM
    (
        SELECT
            SUM(money) money,
            DATE_FORMAT(create_time, '%Y-%m-%d') date
        FROM
            red_packet_number
        WHERE
            create_time > '2019-1-01'
        AND create_time < '2019-1-31'
        GROUP BY
            DATE_FORMAT(create_time, '%Y-%m-%d')
        UNION    (SELECT 0, '2019-01-01')
        UNION    (SELECT 0, '2019-01-02')
        UNION    (SELECT 0, '2019-01-03')
        UNION    (SELECT 0, '2019-01-04')
        UNION    (SELECT 0, '2019-01-05')
        UNION    (SELECT 0, '2019-01-06')
        UNION    (SELECT 0, '2019-01-07')
        UNION    (SELECT 0, '2019-01-08')
        UNION    (SELECT 0, '2019-01-09')
        UNION    (SELECT 0, '2019-01-10')
        UNION    (SELECT 0, '2019-01-11')
        UNION    (SELECT 0, '2019-01-12')
        UNION    (SELECT 0, '2019-01-13')
        UNION    (SELECT 0, '2019-01-14')
        UNION    (SELECT 0, '2019-01-15')
        UNION    (SELECT 0, '2019-01-16')
        UNION    (SELECT 0, '2019-01-17')
        UNION    (SELECT 0, '2019-01-18')
        UNION    (SELECT 0, '2019-01-19')
        UNION    (SELECT 0, '2019-01-20')
        UNION    (SELECT 0, '2019-01-21')
        UNION    (SELECT 0, '2019-01-22')
        UNION    (SELECT 0, '2019-01-23')
        UNION    (SELECT 0, '2019-01-24')
        UNION    (SELECT 0, '2019-01-25')
        UNION    (SELECT 0, '2019-01-26')
        UNION    (SELECT 0, '2019-01-27')
        UNION    (SELECT 0, '2019-01-28')
        UNION    (SELECT 0, '2019-01-29')
        UNION    (SELECT 0, '2019-01-30')
        UNION    (SELECT 0, '2019-01-31')
    ) AS od GROUP BY od.date order by od.date

select sum(money) from red_packet_number where TO_DAYS(create_time) = TO_DAYS("2019-01-30");
相關文章
相關標籤/搜索