簡體   English   中英

MySQL選擇大於時間的下兩行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM