[英]MySQL Select next 2 rows greater than time
我有一個數據庫,其中存儲了火車時刻表的時間值。 這是我的桌子:
CREATE TABLE IF NOT EXISTS `bahn_hausen` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`time` time NOT NULL,
`day` varchar(12) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=132 ;
現在,我想選擇now()之后的下兩行:
SELECT time FROM bahn_hausen WHERE time > now() LIMIT 2
問題是,現在現在>上次今天(23:45:00)>時,沒有選擇任何行。 但是,我想選擇接下來的兩個值(00:15:00和00:45:00)。 僅當now()> = 0:00:00時才能正常工作
* [編輯] *為了澄清:我遇到的問題是SQL無法識別00:15大於23:45。
我該怎么做呢? 謝謝你的幫助。
您的查詢幾乎在那里。 您只需要order by
:
SELECT time
FROM bahn_hausen
ORDER BY time > now() desc, time
LIMIT 2;
您是否嘗試使用方法CURTIME()或DATEDIFF(...)> 0
https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_current-time
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.