mysql Загрузить предыдущую и следующую относительно данной запись (по id) SELECT ORDER BY UNION -- пример SQL

Forums:

Предположим, что у нас есть новость с некоторым id, скажем = 22, тогда загрузим предыдущую и последующую записи (не обязательно 21 и 23, так как id могут быть прорежены):

(SELECT * FROM News WHERE newsID < 2 ORDER BY newsID DESC LIMIT 1)
 UNION
(SELECT * FROM News WHERE newsID > 2 ORDER BY newsID LIMIT 1)

В ответ мы получим 2 строки (2 набора значений колонок таблицы News) - в первой будет предыдущая запись, а во второй - последующая относительно нашей исходной записи с id = 22

На основе материалов:
stackoverflow.com/questions/20849098/mysql-how-get-value-in-previous-row-and-value-in-next-row