如何在mysql中对mmm-yyyy日期格式进行排序

时间:2014-09-16 11:28:15

标签: mysql sql

我的列格式为mmmm-yyyy,例如。 '2013年3月' 如何按date订单....对该列进行排序。

我尝试了ORDER by desc

但它按字母顺序排序......请帮帮我

3 个答案:

答案 0 :(得分:4)

您可以使用str_to_date将字符串转换为日期:

SELECT   *
FROM     my_table
ORDER BY STR_TO_DATE(my_field, '%M-%Y') DESC

答案 1 :(得分:3)

如果您正在使用聚合,您可以执行以下操作:

order by min(col) desc

如果没有,您可以转换为日期:

order by str_to_date(concat('01-', col), '%d-%M-%Y')

严格来说,您不需要01,但我对MySQL的日期不完整感到不舒服。

答案 2 :(得分:1)

SELECT * FROM articles ORDER BY time DESC