我在 mysql 表中有一个日期类型列。我需要从当月开始独立于年份订购日期。
tblEvent
event_date
__________
2016-01-07
2016-01-13
2016-05-16
2016-05-22
2016-05-30
2018-06-21
2016-06-23
2016-07-14
2018-08-16
2016-10-20
1990-12-09
2016-12-15
因为当前月份是6月,所需的输出应为:
event_date
__________
2018-06-21
2016-06-23
2016-07-14
2018-08-16
2016-10-20
1990-12-09
2016-12-15
2016-01-07
2016-01-13
2016-05-16
2016-05-22
2016-05-30
答案 0 :(得分:3)
SELECT event_date
FROM tblEvent
ORDER BY
IF(MONTH(event_date) < MONTH(NOW()), MONTH(event_date) + 12, MONTH(event_date)),
DAY(event_date)
的信息:
答案 1 :(得分:1)
如果我理解你的问题,那么灵魂就像这样:
select
event_date
from
tblevent
order by
(12+month(event_date)-month(current_date)) mod 12,
day(event_date)
此查询将对从当前月份开始的所有行进行排序,按月和日排序,而不考虑年份。请查看工作小提琴here。
答案 2 :(得分:0)
我只是尝试下面的查询,获取所有记录,从desc顺序的当前月份开始。喜欢: - 第6,5,4,3,2,1个月
BKPT
你可以尝试这种方式,希望这会有所帮助。