У меня есть таблица MySQL с именем bb_posts, используемая форумом bbPress. В нем есть поле автоинкремента topid_id и другое поле topic_poster.
Я пытаюсь написать функцию, которая находит «следующее сообщение того же автора». Так, например, скажем, пользователь находится на определенной странице, которая отображает тему 123. Если вы выполняете запрос SQL:
SELECT *
FROM `bb_topics`
WHERE `topic_poster` = 5
ORDER BY `topic_id` ASC
Это может вернуть следующие строки:
topic_id topic_poster
6 5
50 5
123 5
199 5
2039 5
Я хотел бы написать SQL-запрос, который возвращает эти две строки:
topic_id topic_poster
50 5
199 5
Это будет строка PRIOR для строки с topic_id, равной 123, и строка ПОСЛЕ этой строки.
Если это слишком сложно сделать в одном запросе, то, безусловно, можно разбить его на два запроса ...
Я бы хотел избежать выполнения всего SQL-запроса («SELECT * FROM bb_topics
WHERE topic_poster
= 5») и циклического просмотра результатов, поскольку набор результатов иногда огромен.
Возможно ли это? : -)