MySQL 按天/月统计数据,没有的填充为0

一、按某月查询所有天数

ps:用到一张中间表 https://pan.baidu.com/s/1tAFU4nm1p4CkSneXwceA_A

          提取码:b3xi

1、sql

其中第四行的  now() 可以传入日期:格式为 'yyyy-MM-dd'

SELECT
        temp.date as dates,
        IFNULL(u.singleDiseasesNum,0) as isorno

  from(   SELECT DATE_ADD((date_add(date_add(last_day(now()),interval 1 day),interval -1 month)),INTERVAL  numlist.id  DAY)AS 'date' FROM
        (
        SELECT * from
        (SELECT i AS id FROM num ) a
        where a.id <=30 
        ) AS numlist
      
) temp
        LEFT JOIN
        (
        SELECT
        DATE(c.create_time) AS udate,
        COUNT(if( c.integral_type='1' ,1,NULL) )as singleDiseasesNum

        FROM
        home_integral_log c
        WHERE
        1 = 1
                and m_id=4
        
        GROUP BY DATE(c.create_time)
        ) u on DATE(temp.date) = u.udate ORDER BY temp.date

2、结果

 

原文链接:https://www.cnblogs.com/ourlang/p/12230991.html

 

posted @ 2020-09-03 16:52  雁书几封  阅读(1418)  评论(0编辑  收藏  举报