SELECT
    b.date AS date,
    IFNULL( c.count, 0 ) AS count 
FROM
    (
    SELECT
        @s := @s - 1 AS `index`,
        DATE( DATE_SUB( CURRENT_DATE, INTERVAL @s DAY ) ) AS `date` 
    FROM
        information_schema.TABLES,
        ( SELECT @s := WEEKDAY( CURRENT_DATE ) + 1 ) temp 
    WHERE
        @s > 0 
    ORDER BY
        date ASC 
    ) b
    LEFT JOIN (
    SELECT
        DATE_FORMAT( a.start_time, '%Y-%m-%d' ) date,
        count( 1 ) AS count 
    FROM
        execute_log a 
    WHERE
        a.execute_status = 01 
    GROUP BY
        ( date ) 
    ) c ON b.date = c.date 
GROUP BY
    b.date,
    c.count

 

posted on 2019-12-23 14:40  lonske  阅读(708)  评论(0)    收藏  举报