好的,我有一个数据库,其中的表包含四列.每列都有许多记录,所有记录都是使用MysqL TIME数据类型输入的.
我进行了设置,以便有一个简单的Web表单,该表单接受用户输入用户想要的列.我希望从选择的列中将最接近当前时间的TIME值返回给用户.
COLUMN1 COLUMN2 COLUMN3 COLUMN4
11:00 11:40 11:25 11:35
12:05 12:25 12:35 12:25
等等
因此,如果用户在网络表单中输入“ 3”,并且当前时间为12:10,我希望将12:35的值返回给他们.
我一直在谷歌搜索,我相信我需要使用CURTIME().我不想要有关如何接受用户输入并将其用于查询哪一列的答案.我只需要知道如何返回最接近当前时间的列的时间值即可!谢谢.
解决方法:
试用:
SELECT *
FROM table_name
WHERE time > CURTIME()
ORDER BY time ASC
LIMIT 1
编辑:
也许这是要走的路
SELECT * FROM table_name AS T
WHERE T.time = (SELECT MIN(T2.time) FROM table_name AS T2
WHERE T2.time > ?)