MYSQL从表中查找最近的时间

MYSQL从表中查找最近的时间,mysql,Mysql,我有一张由以下时间组成的桌子 t时间 id | in_time ------------- 1 | 08:00 2 | 16:00 现在我有一个时间值08:45和16:10,我想从tblTime中获取与我的时间值最接近的ID,因此在这种情况下,08:45的结果将是1,而16:10的结果将是2 我尝试了ABS()函数,但它似乎根本不起作用 SELECT * FROM tblTime ORDER BY ABS(TIMESTAMP(minute,in_time,'08:45')) SE

我有一张由以下时间组成的桌子

t时间

id  | in_time
-------------  
1   | 08:00
2   | 16:00
现在我有一个时间值
08:45
16:10
,我想从tblTime中获取与我的时间值最接近的ID,因此在这种情况下,
08:45
的结果将是
1
,而
16:10
的结果将是
2

我尝试了ABS()函数,但它似乎根本不起作用

SELECT * FROM tblTime ORDER BY ABS(TIMESTAMP(minute,in_time,'08:45'))
SELECT * FROM tblTime ORDER BY ABS(TIMESTAMP(minute,in_time,'16:10'))
尝试使用以下功能:

注:
时间到秒
将时间转换为秒。

定义
最近的
。另外,再举几个预期的rowscare来举个例子?我的意思是,如果你能给出更多的样本数据和预期的输出。因为你说的
最近的
,没有明确定义。
order by abs(time_to_sec(timediff(in_time, '08:45')))
limit 1 -- Of course, if you want nearest one, this line is necessary.