Я хотел бы использовать один SQL-запрос (в MySQL), чтобы найти запись, которая приходит после той, которую я указываю.
I.e., если таблица имеет:
id, fruit
-- -----
1 apples
2 pears
3 oranges
Я хотел бы сделать запрос типа:
SELECT * FROM table where previous_record has id=1 order by id;
(ясно, что не настоящий синтаксис SQL, я просто использую псевдо-SQL, чтобы проиллюстрировать, чего я пытаюсь достичь)
который вернется:
2, pears
Мое текущее решение - это просто взять все записи и просмотреть их на PHP, но это медленнее, чем хотелось бы. Есть ли более быстрый способ сделать это?
Я был бы доволен тем, что возвратило две строки - то есть с указанным значением и следующей строкой.
EDIT: Извините, мой вопрос был плохо сформулирован. К сожалению, мое определение "следующий" не основано на ID, а на алфавитном порядке имени фруктов. Следовательно, мой пример выше неверен и должен возвращать апельсины, поскольку он идет в алфавитном порядке после яблок. Есть ли способ выполнить сравнение строк, а не идентификаторов?