mysql 根据起止年月 查询所选年月的数据
Posted 雁书几封
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 根据起止年月 查询所选年月的数据相关的知识,希望对你有一定的参考价值。
1、时间字段是datetime类型
2、需要用到中间表,表结构和数据链接下载
链接:https://pan.baidu.com/s/1tAFU4nm1p4CkSneXwceA_A
提取码:b3xi
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 根据起止年月 查询所选年月的数据的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver 数据库查询一个时间段根据年月日三个字段,注意是三个字段