我的数据存储在数据库的月份列中。它存储如下:
一月 二月 游行 四月 可以 等...
它们存储为varchar。
如何使用SQL按月订购?即使我的SQL中有ORDER BY month
,它目前订购也不正确。
答案 0 :(得分:0)
select * from your_table
order by case when month = 'January' then 1
when month = 'February' then 2
...
when month = 'December' then 12
end
答案 1 :(得分:0)
Mysql有field function几乎可以做到这一点。
select field(month, 'january', 'february', 'march',
'april', 'may', 'june',
'july', 'august', 'september',
'october', 'november', 'december')
它将返回列表中第一个参数的索引,该参数是其余参数,如果未找到则返回0
。因此,对于本月(可能),它将返回5
。您也可以通过此返回值进行排序。