Вполне возможно, что это очень легко, и это только пятничные проблемы мозга, но я изо всех сил здесь ...MySQL Следующий/Предыдущий По алфавиту Роу
У меня есть таблица MySQL, который содержит текстовые данные, такие как:
Elephant
Apple
Dog
Carrot
Banana
Я тяну один ряд, т.е. Собака. Теперь я хочу, чтобы вытащить предыдущий алфавитный строку и следующую строку в алфавитном порядке, то есть морковь & слон
Так ..
SELECT text FROM table WHERE text >= 'Dog' ORDER BY text LIMIT 1
дает мне следующий алфавитный ряд. Однако
SELECT text FROM table WHERE text <= 'Dog' ORDER BY text LIMIT 1
, возможно, очевидно, дает мне первый алфавитный ряд таблицы. Я решил, что смогу получить таблицу, а затем заказать alpahbetically и сделать LIMIT x-1,1, чтобы получить предыдущий, но это кажется ужасным неуклюжим.
Уверен, что мне не хватает чего-то очевидного, но у меня болит голова.
Идеи?
не было бы легче читать весь таблицу во что-то похожее на связанный список, а затем получить следующий и предыдущий элемент для вашего афера? – Tarski
Посмотрите на мой ответ на предыдущий аналогичный вопрос: http://stackoverflow.com/questions/1259458/sql-pulling-a-row-for-next-or-previous-row-of-a-current-row/2827609 # 2827609 – Mike