首页 > 数据库技术 > 详细

mysql 根据起止年月 查询所选年月的数据

时间:2019-01-12 13:56:10      阅读:416      评论:0      收藏:0      [点我收藏+]

1、时间字段是datetime类型

2、需要用到中间表,表结构和数据链接下载

https://pan.baidu.com/s/1sAQ78e3Ao-KwvYJlaipbKQ

3、前两个 adddate 日需要在数据库写死 从每日的-01开始,-最后一个日期同理xxxx-xx-31

4、sql

select
    bri.orgid,
    years.date,
    date_format(years.date, %Y-%m) AS years,
    bri.entrytime a,
    sum( case when bri.status = 1 then 1 else 0 end ) as num,
    sum( case when bri.status = 1 and bri.sex=1 then 1 else 0 end  ) as numman,
    sum( case when bri.status = 1 and bri.sex=2 then 1 else 0 end  ) as numgrid
    
from
    ( select adddate(2018-10-01, INTERVAL numlist.id month) as date, 
        numlist.id 
    from ( select n100.i * 1 as id from num as n100 ) as numlist 
    where adddate(2018-10-01, INTERVAL numlist.id month) <= 2019-05-31 ) years
    
left join building_resident_info bri on date_format(years.date, %Y-%m)  = date_format(bri.entrytime, %Y-%m) and bri.status=1

and bri. status = 1
and bri.orgid like concat(37.02.82, %)
group by
    years.date

 

 

5、结果

技术分享图片

 

如有疏漏,请指正!谢谢。

mysql 根据起止年月 查询所选年月的数据

原文:https://www.cnblogs.com/w-yu-chen/p/10259430.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!