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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM