重要なアイデアは、order by
を使用することです およびlimit
:
前に最も近いものが必要な場合:
SELECT one
FROM table
WHERE datetimefield <= '2014-12-10 09:45:00'
ORDER BY datetimefield DESC
LIMIT 1;
どちらの方向にも最も近いものが必要な場合は、TIMESTAMPDIFF()
を使用します :
ORDER BY abs(TIMESTAMPDIFF(second, datetimefield, '2014-12-10 09:45:00'))
LIMIT 1