SQL按开始时间和结束时间排序

时间:2017-08-03 13:16:49

标签: sql sql-order-by

我有一张表SHIFTBREAKTIME(ID,开始时间(7),结束时间(7))

示例值

ID      StartTime   endTime
1       13:00       13:45
2       9:00        9:45
3       11:00       11:50

我想按以下顺序(从低到高)显示上述数据

ID      StartTime   endTime
1       9:00        9:45
2       11:00       11:50
3       13:00       13:45

我无法按顺序排序。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您无法使用select语句更改表中的数据。如果ID 1的开始时间为13:00,那么它将始终采用这种方式,除非您先更新信息。

排序意味着整行应位于列表顶部,整行应排在第二位....但每行中的数据保持不变。

答案 1 :(得分:0)

如果要根据排序顺序调整id值,可以使用MySQL中的变量来执行此操作:

set @id := 0;

update t
    set id= (@id := @id + 1)
    order by starttime;

如果您只想选择带有顺序ID的值:

select (@id := @id + 1), starttime, endtime
from t cross join
     (select @id := 0) params
order by starttime;