sql >> Databáze >  >> RDS >> Mysql

Najděte nejbližší datum k zadanému datu v dotazu mysql

Klíčovou myšlenkou je použít order by a limit :

Pokud chcete ten nejbližší dříve:

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

Pokud chcete co nejblíže, v obou směrech, použijte TIMESTAMPDIFF() :

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


  1. Použití elasticsearch-river-mysql ke streamování dat z databáze MySQL do Elasticsearch

  2. Jak používat Enums ve Scala Slick?

  3. Cizí klíče – co pro mě dělají?

  4. Aktualizovat tabulku pomocí JOIN na SQL Server?