MySQL选择大于time的下2行



我有一个数据库,其中存储了火车时刻表的时间值。这是我的表格:

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)时,没有选择行。但是,我当然想选择接下来的2个值(00:15:00和00:45:00)。这只适用于now()>= 0:00:00

*[edit]*澄清一下:我遇到的问题是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

相关内容

  • 没有找到相关文章

最新更新