2012-04-30 108 views
0

您可以轻松地在MYSQL时间顺序,例如然后按时间顺序开始?

"SELECT * from table WHERE date = 2012-04-29 order by time" 

MySQL会为了通过时间开始00:00:00

我的问题是有可能告诉MySQL开始说06:00:00而不是默认值。

+0

有没有一个原因,你不存储日期和时间在同一领域?那么您的where语句将变为:WHERE datetime_field>'2012-04-29 06:00:00'order by datetime_field –

+0

因此,不应显示时间介于'00:00'和'06:00'之间的行吗?或者在最后显示? –

+0

年底显示的年份。 Lynn的评论和SoEnlion的回答都表明我应该做更大或更小的操作。我不想这样做。我只是想控制何时开始订单。 – jamjam

回答

0
SELECT * 
    FROM table 
WHERE date = 2012-04-29 
ORDER BY CASE WHEN hour(time) < 6 THEN 1 ELSE 0 END, time; 

史迪威,我觉得它更容易出错,有日期和时间分开。

+0

非常好。谷歌搜索“ORDER BY CASE”找到了这个http://www.extremeexperts.com/SQL/Articles/CASEinORDER.aspx,这几乎是我问的。谢谢 – jamjam

1

你可以试试这个查询:

SELECT * 
FROM table 
WHERE date = 2012-04-29 
    AND TIME>= 06:00:00 
ORDER BY time; 
相关问题