sql >> Database teknologi >  >> RDS >> Mysql

Find den nærmeste datetime til specificeret datetime i mysql-forespørgsel

Nøgleideen er at bruge order by og limit :

Hvis du vil have den nærmeste før:

SELECT one
FROM table
WHERE datetimefield <= '2014-12-10 09:45:00'
ORDER BY datetimefield DESC
LIMIT 1;

Hvis du vil have den tætteste, i begge retninger, så brug TIMESTAMPDIFF() :

ORDER BY abs(TIMESTAMPDIFF(second, datetimefield, '2014-12-10 09:45:00'))
LIMIT 1


  1. Hvorfor nosql med cassandra i stedet for mysql?

  2. Problemer med at tilføje rækker med JDBC og MySQL?

  3. Output mellem to datoer mysql

  4. Indsættelse af tekst fra tekstområde i MySQL-database uden at miste formatering