mysql从22:00开始按小时排序

时间:2017-01-02 17:07:16

标签: mysql time hour

我有一张带时间字段的表格。时间格式为HH:mm。 时间仅为22:00至06:00。 我想对行进行排序,使它们看起来像这样:

Hour
22:00
22:30
23:15
00:15
01:30
03:50
05:30

但在我目前的查询中:

select * from events order by hour
他们看起来像这样:

Hour
00:15
01:30
03:50
05:30
22:00
22:30
23:15

有可能吗?谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT 
    *
FROM
    events
ORDER BY CASE
    WHEN SUBSTR(hour, 1, 2) >= '22' THEN 0
    ELSE 1
END , hour;