@Apxu

Как сделать необычную сортировку средствами SQL?

Добрый день всем!
Подскажите пожалуйста как сформировать sql чтобы получить следующий результат.

Например в базе есть следующие строки:
id | ...
1
2
...
99
100

Текущий ID например 88 и мне необходимо получить 50 элементов вперед и 50 элементов назад, НО если вперед меньше элементов(или назад - неважно), как в нашем случае(их впереди только 12), то мы должны получить назад 50+38(50-12)... Это как вариант, но можно и как-то другой способ предложить - главная задача, получить элементы которые рядом с заданым ID средствами SQL

Заранее благодарен!
  • Вопрос задан
  • 75 просмотров
Решения вопроса 2
Melkij
@Melkij
PostgreSQL DBA
(select ... from tablename where id < 88 order by id desc limit 50)
union all
(select ... from tablename where id > 88 order by id asc limit 50)
order by id
Ответ написан
Комментировать
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы