gpt4 book ai didi

MYSQL查询检索当前月份数据以及检查上个月

转载 作者:行者123 更新时间:2023-11-30 23:25:59 25 4
gpt4 key购买 nike

我有一个表 work_history('id','name','work','work_month','work_year')。

我需要查询当前月份的数据,但如果当前月份的数据不存在,在这种情况下检索上个月的数据等等......直到找不到数据。仅对于 Ex- 如果找到 11-2012 的数据,则仅检索此数据,无需检查上个月,但如果未找到,则检查上个月 10-2012。如果再次找不到,请检查 09-2012。

提前致谢

最佳答案

您想要的月份是数据中可用的最大月份。它必须是当前月份或最接近它的月份。所以这样的查询应该是这样的:

select ......
from work_history
where work_month = (select max(work_month) from work_history)

请注意,如果列 work_month 是一个字符列,您可能需要将数据转换为日期类型,以便进行正确比较。基于上例中的格式:

select ......
from work_history
where str_to_date(work_month,'%m-%Y') = (select max(str_to_date(work_month,'%m-%Y')) from work_history)

编辑

在所有评论之后,下面的查询应该可以修复我的错误,并且还可以根据用户的 ID 提供数据:

select wh.*
from work_history wh,
(select id, max(str_to_date(work_month,'%m-%Y')) as mx_month
from work_history
where str_to_date(work_month,'%m-%Y') <= curdate()
group by id
) wh2
where wh.id=wh2.id
and str_to_date(wh.work_month,'%m-%Y') = wh2.mx_month

关于MYSQL查询检索当前月份数据以及检查上个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com