我试图在mysql数据库中找到一个datetime值,它与我指定的日期时间最接近,我遇到了一些麻烦 .
以下伪代码是我想要实现的:
SELECT one FROM table WHERE datetimefield is closest to "2014-12-10 09:45:00" LIMIT 1
提前致谢
EDIT
感谢到目前为止的回复,因为事实证明查询比我最初想到的更复杂一点,以获得所需的结果,ABS方法适用于一些添加 .
接下来的问题是,是否有降低以下查询的性能要求?
SELECT DISTINCT timegenerated, *other values*
FROM table1 e INNER JOIN table2 dt
ON e.circuit = dt.circuit
WHERE dt.circuit IN ("2", "3", "4", "5", "6", "7", "8")
AND e.circuit != 1
AND dt.siteid = 435
ORDER BY ABS(TIMESTAMPDIFF(MINUTE, timegenerated, "2014-12-09 14:15:00")) LIMIT 7
或者将其合并以匹配多个日期,因为我需要能够匹配多个特定日期时间(可能多达90天)它当前正在从另一个阵列运行每个单独的日期时间但我意识到这不是最佳的 . 该查询是在PHP中动态构建的 .
查询时间目前约为每个查询1.1秒,因此运行30次或更多次会产生问题,该表有数十万行 .
非常感谢!