2012-04-30 106 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; 
相關問題