Задать вопрос
@koliane

Как получить определенное кол-во строк до необходимой выборки?

Есть отсортированная выборка данных. Из этой выборки необходимо получить данные, которые соответствуют определенному условию (WHERE) + 5 записей (или другое число), идущих перед выборкой. Т.е. перед первым значением, соответствующем условию. Эти 5 записей необязательно должны соответствовать условию.

Пример: 649df457d2.jpg

Необходимо получить значения больше или равно 9. +5 строк идущих перед первым совпадением. Ответ должен быть следующим: 1, 2, 3, 4, 7, 9, 11, 14, 17. Как это можно реализовать в postgresql или mysql?
  • Вопрос задан
  • 95 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
sqlfiddle.com/#!17/12350/11/0
select val from
(
    (select val from foo where val < 9 order by val desc limit 5)
    union
    (select val from foo where val >= 9 order by val asc)
) results
order by val asc
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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