2013-08-18 52 views
0

我有一個格式的日期大列表dd-mm-yyyy. 所以我想訂購:年,然後在月份,然後在一天。MySQL排序年/月/日

日期和月份在同一字段中,而年份是其他字段。

我現在有:ORDER BY table.year ASC, table.date ASC

結果是,該清單是爲了在一年,然後天。
如何拆分/去除dd-mm格式並在排序前的第一個月進行排序?

Same record:  
date | year 
dd-mm | yyyy 

回答

2

根據您的例子中,你可以排序像這樣的記錄,

ORDER BY STR_TO_DATE(CONCAT(year, '-', date), '%Y-%d-%m') ASC 
0

按我所知,這是更好地使用單個日期型字段,而不是具有分別爲日期和月份分配兩個字段,因爲您可以輕鬆地對結果進行排序。

根據您的查詢日期月可以使用RIGHT(date-monthfield,2)功能剝離出來。這選擇在右側的月份。

的查詢是:

select RIGHT(date-monthfield, 2) from table ORDER BY date-monthfield ASC; 

希望它能幫助。