SQL Query to show nearest date?

SELECT event_id 
FROM Table 
ORDER BY ABS( DATEDIFF( EVENT_START_DATE, NOW() ) ) 
LIMIT 3

The ABS() means that an event 1 day ago is just as close as an event 1 day in the future. If you only want events that haven’t happened yet, do

SELECT event_id 
FROM Table 
WHERE EVENT_START_DATE > NOW() 
ORDER BY EVENT_START_DATE 
LIMIT 3 

Leave a Comment