2012-07-27 73 views
1

首先我有一個這樣的表:MySql中與時間比較當前時間在使用SQL行

userID Day  Hour Class 
--------------------------------------- 
65  Monday 08:00 Math 
65  Monday 09:00 Bio 
65  Monday 13:00 History 
65  Tuesday 08:00 Sports 
65  Friday 10:00 Math 

我根據當前時間選擇課程。 當它是08:30那麼我需要選擇下一個小時,它是09:00,它是Bio。這很好。 但是,當它是10:00那麼我需要選擇13:00這是History

補充:可以說今天是星期二,現在是07:00。有了下面的代碼,我可以選擇週二08:00的下一堂課。假設今天是星期二和中午12點。我如何選擇下週的演講(下週我有一堂課)。

當我一天沒有課,我該如何選擇下一個課,我有一堂課......?

回答

1

嘗試這樣的事:

select `Hour`, Class 
from your_table 
where time(`Hour`) > curtime() 
and `Day` = DAYNAME(now()) 
order by time(`Hour`) asc 
limit 1 
+0

小心! SELECT結果集中行的順序在形式上是不可預知的。您可能無法通過'LIMIT 1'取回所希望的行。 – 2012-07-27 13:15:52

+0

您是對的。我錯過了。增加了一個'order by'來修復它。 – 2012-07-27 13:17:17

相關問題