mysql如何根据年月查询当月最后一天的数据

数据库表里的日期是到每天的,但是统计的时候需要用到年月统计,但是又只想统计每月最后一天的数据,这个要怎么过滤呢?

FineReport HQDR 发布于 2023-5-25 15:02
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-5-25 15:03(编辑于 2023-5-25 15:18)

直接用FR的函数了

select * from 表名称

where 1=1

and 时间字段='${DATEINMONTH(today(),-1)}'

----------------修改后的语句------------

select * from 表名称

where 1=1

and date='${DATEINMONTH(CONCATENATE(in_date,"-01"),-1)}'

image.png

  • HQDR HQDR(提问者) where left(date,7)=\'${in_date}\' 等号前面的日期是表中的日期,是年月日的形式,我取了年月,查询的时候输入的也是年月,比如我输入2023-02,统计出来的是2023-02-28那天的数据,现在按照我写的,会统计2月每一天的数据
    2023-05-25 15:13 
  • CD20160914 CD20160914 回复 HQDR(提问者) 你为什么不直接限制时间。比如你现在date时2023-01-15这样的格式,那么你看我修改后的语句。。。
    2023-05-25 15:16 
  • CD20160914 CD20160914 回复 HQDR(提问者) 你看我录入2023-02.它会自动得到2023-02-28这一天的日期,再和你的date字段等于就行了
    2023-05-25 15:18 
  • HQDR HQDR(提问者) 回复 CD20160914 好的,谢谢,突然有了思路
    2023-05-25 16:01 
最佳回答
0
年年plusLv5中级互助
发布于2023-5-25 15:09

参考  https://www.jianshu.com/p/d20a1c4ba4d3

最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2023-5-25 15:11

指查询某月最后一天,还是要查询历史年份所有月份的最后一天呢

  • HQDR HQDR(提问者) 统计近一年每个月份的最后一天,比如输入2023-05,查出来2022-05~2023-05中每月最后一天的数据
    2023-05-25 15:15 
  • 坚定的小帆薯 坚定的小帆薯 回复 HQDR(提问者) 那以年月分组统计,获取分组的中最大一天的日期进行查询即可吖
    2023-05-25 15:19 
  • 坚定的小帆薯 坚定的小帆薯 回复 HQDR(提问者) 例如:SELECT 年月, MAX(年月日) AS A from 表A GROUP BY 年月 再用这个年月日去过滤数据就可以了
    2023-05-25 15:21 
  • HQDR HQDR(提问者) 谢谢
    2023-05-25 16:02 
  • 4关注人数
  • 572浏览人数
  • 最后回答于:2023-5-25 15:18
    请选择关闭问题的原因
    确定 取消
    返回顶部