2016-06-20 21 views
0

我有一個日期類型列mysql表。我需要從本月開始獨立於年份。由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 

由於當前月份是俊因此,需要輸出應該是:

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 
  1. 順序必須從目前的月份 月啓動
  2. 例如,如果當前月份是,則順序必須 十一月,十二月,一月,二月,三月,...... 10月
  3. 也相應日期必須按異步順序
  4. 順序必須獨立今年的(即無論哪一年有 的日期)
+0

到目前爲止你試過什麼樣的查詢? –

+0

對不起@Deepak,但他們正在篩選當月的記錄,只需要列出從當前開始的所有月份。請參考這個問題。 – Akanksha

回答

0

我只是嘗試下面的查詢,獲取所有記錄,從當月的倒序開始。如: - 6個月,5,4,3,2,1

SELECT * 
FROM `schedules` 
WHERE date_format(`ScheduleDate` , "%m") <= date_format(NOW() , "%m") 
ORDER BY `ScheduleDate` DESC 
LIMIT 0 , 30; 

您可以用這種方法試試,希望這將有助於。

1

如果我正確理解你的問題,一個soultion可以是這樣的:

select 
    event_date 
from 
    tblevent 
order by 
    (12+month(event_date)-month(current_date)) mod 12, 
    day(event_date) 

此查詢將排序從當前月份開始的所有行,按月份和日期排序而不考慮年份。請參閱工作小提琴here