mysql 查询 一个月中的每一天的数据

原文连接

SELECT
    lefttable.date,
    IFNULL( righttable.m, '0' ) AS money 
FROM
    (
        SELECT
            ADDDATE( y.FIRST, x.d - 1 ) AS date
        FROM
            (
                SELECT
                    1 AS d UNION ALL
                SELECT
                    2 UNION ALL
                SELECT
                    3 UNION ALL
                SELECT
                    4 UNION ALL
                SELECT
                    5 UNION ALL
                SELECT
                    6 UNION ALL
                SELECT
                    7 UNION ALL
                SELECT
                    8 UNION ALL
                SELECT
                    9 UNION ALL
                SELECT
                    10 UNION ALL
                SELECT
                    11 UNION ALL
                SELECT
                    12 UNION ALL
                SELECT
                    13 UNION ALL
                SELECT
                    14 UNION ALL
                SELECT
                    15 UNION ALL
                SELECT
                    16 UNION ALL
                SELECT
                    17 UNION ALL
                SELECT
                    18 UNION ALL
                SELECT
                    19 UNION ALL
                SELECT
                    20 UNION ALL
                SELECT
                    21 UNION ALL
                SELECT
                    22 UNION ALL
                SELECT
                    23 UNION ALL
                SELECT
                    24 UNION ALL
                SELECT
                    25 UNION ALL
                SELECT
                    26 UNION ALL
                SELECT
                    27 UNION ALL
                SELECT
                    28 UNION ALL
                SELECT
                    29 UNION ALL
                SELECT
                    30 UNION ALL
                SELECT
                    31 
            ) x,
            ( SELECT CONCAT( '2019-11', '-01' ) AS FIRST, DAY ( LAST_DAY( str_to_date( '2019-11-01', '%Y-%m-%d' ) ) ) AS last ) y 
        WHERE
            x.d <= y.last 
            AND ADDDATE( y.FIRST, x.d - 1 ) <= CURDATE() 

    ) AS lefttable

    LEFT JOIN (

        SELECT TRUNCATE
            ( sum( af2.money ), 2 ) AS m,
            DATE_FORMAT( af2.add_time, '%Y-%c-%d' ) AS gptime 
        FROM
            sys_paygames af2
        WHERE
            DATE_FORMAT( af2.add_time, '%Y-%c' ) = '2019-11' 
        GROUP BY
            gptime 

    ) AS righttable 

    ON DATE_FORMAT( lefttable.date, '%Y-%c-%d' ) = righttable.gptime

1

原文地址:https://www.cnblogs.com/Skate0rDie/p/12101734.html