Есть простая таблица из двух столбцов, где ID идут по возрастанию, но не всегда на единицу больше предыдущего значения:
1 aaa
5 bbb
7 ccc
8 ddd
К этой таблице идёт обычный SELECT по какому-либо WHERE критерию. Например были выбраны две строчки с идентификаторами 5 и 8.
При помощи какого SQL-запроса можно выбрать следующие по порядку строки после этих выбранных строк (если сортировка идёт по ID)?
То есть правильным ответом такого SQL-запроса для вышеуказанной таблицы должна быть одна строка (она идёт после записи с идентификатором 5):
7 ccc
Так как после идентификатора 8 строки в таблице нет, то она и не выводятся. Но если бы была, то SQL-запрос должен её вывести. Нужна именно одна последующая запись после каждой выбранной ранее. Дублей ID в таблице нет.
P.S. Понятно что можно создавать для каждой отдельной такой строчки отдельный SQL-запрос где получать следующую запись, но если строк будет много, то это получится куча SQL-запросов, что не очень хорошо. Как всё оформить в одном запросе, который на выходе получает несколько ранее выбранных идентификаторов (при помощи обычного SELECT WHERE)?