mysql写出数据库中最大日期所在月份的前一年相同月

如数据库表中最大的日期为2024-07-01(不一定为当前月份),月份即为2024-07,需要查询出2023-07的数据,以便计算同比。mysql如何写,谢谢

SQL ahuhwl 发布于 2024-9-19 13:53 (编辑于 2024-9-19 13:59)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
0035705Lv5初级互助
发布于2024-9-19 13:53

到底是用公式还是mysql

  • ahuhwl ahuhwl(提问者) mysql
    2024-09-19 13:59 
  • 0035705 0035705 回复 ahuhwl(提问者) -- 假设你的表名为 your_table,包含一个日期列 date_column SELECT * FROM your_table WHERE MONTH(date_column) = MONTH( -- 获取最大日期所在月份的前一年相同月的日期 DATE_SUB( -- 获取最大日期所在月份的第一天 DATE_FORMAT((SELECT MAX(date_column) FROM your_table), '%Y-%m-01'), INTERVAL 1 YEAR ) ) AND YEAR(date_column) = YEAR( -- 获取最大日期所在月份的前一年相同月的日期 DATE_SUB( -- 获取最大日期所在月份的第一天 DATE_FORMAT((SELECT MAX(date_column) FROM your_table), '%Y-%m-01'), INTERVAL 1 YEAR ) );
    2024-09-19 14:02 
最佳回答
0
用户Z2732023Lv4见习互助
发布于2024-9-19 14:15

SELECT

a1.月份,

a1.金额 as 当前日期金额

a2.金额 as 同期金额

from 表A  a1

left join 表A  a2  on concat(left(a1.月份,4)-1,'-',right(a1.月份,2)) = a2.月份    

  • 3关注人数
  • 107浏览人数
  • 最后回答于:2024-9-19 14:15
    请选择关闭问题的原因
    确定 取消
    返回顶部