2010-03-13 4 views
1

У меня есть таблица со столбцом event_time. Как я могу выбрать две строки прямо перед СЕЙЧАС() и следующую после NOW(), упорядоченную по event_time?mysql select two before and one after NOW()

Возможно ли с одним запросом?

ответ

4

Как о чем-то вроде

SELECT * 
FROM (
      SELECT * 
      FROM TABLE 
      WHERE event_time < NOW() 
      ORDER BY event_time DESC 
      LIMIT 2 
     ) First2 
UNION ALL 
SELECT * 
FROM (
      SELECT * 
      FROM TABLE 
      WHERE event_time > NOW() 
      ORDER BY event_time ASC 
      LIMIT 1 
     ) Next1 
ORDER BY event_time 
Смежные вопросы