MySQL按年/月/日排序

时间:2013-08-18 12:33:12

标签: mysql date sorting strip

我有一个大型日期格式dd-mm-yyyy. 所以我想订购:年份,然后是月份,然后是白天。

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

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

结果是该列表按年份排序,然后是几天 如何拆分/剥离dd-mm格式,并在按天排序之前的第一个月进行排序?

Same record:    
date | year   
dd-mm  | yyyy

2 个答案:

答案 0 :(得分:2)

根据您的示例,您可以对此记录进行排序,

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

答案 1 :(得分:0)

据我所知,最好使用单日期类型字段,而不是在日期月份和年份中分别设置两个字段,因为您可以轻松地对结果进行排序。

根据您的查询日期 - 月份可以使用RIGHT(date-monthfield,2)函数删除。这选择了右侧的月份。

查询将是:

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

希望它有所帮助。