码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-01-12 14:22:40      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:div   mgr   lis   nbsp   开始   数据库   end   datetime   org   

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 根据起止年月 查询所选年月的数据

标签:div   mgr   lis   nbsp   开始   数据库   end   datetime   org   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!