Задать вопрос
@Bezlepkin
Yii, PHP, JS, Android

Как построить SQL запрос, чтобы вывести один результат из прошедших дат, и несколько из будущих?

Есть таблица, в ней ID материала и TIMESTAMP. Нужно сделать запрос такой: найти первую ближайшую дату из прошедших дат, и все остальные из будущих.
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F
SELECT `date`
FROM `foo`
WHERE `id` >= (
  SELECT `id`
  FROM `foo`
  WHERE `date` < now()
  ORDER BY `id` DESC
  LIMIT 1
)

Это конечно в предположении, что даты расположены последовательно. Если нет - то можно, например, отдельно выбрать последнюю прошедшую и отдельно все будущие и объединить их union'ом.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
(SELECT ...
  FROM `table` 
  WHERE `date` < NOW()
  ORDER BY `date` DESC
  LIMIT 1)
UNION (SELECT ...
  FROM `table` 
  WHERE `date` >= NOW())
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы