我的列格式为mmmm-yyyy
,例如。 '2013年3月'
如何按date
订单....对该列进行排序。
我尝试了ORDER by desc
但它按字母顺序排序......请帮帮我
答案 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