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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM