Как в mysql выбрать ближайшую бОльшую и ближайшую мЕньшую запись из базы в 1 запрос?

Чтобы выбрать ближайшую большую и меньшую запись из базы данных MySQL в одном запросе, можно использовать UNION и подзапросы. Первый подзапрос будет выбирать самую близкую бОльшую запись, а второй подзапрос - самую близкую меньшую запись.

Вот пример запроса:

SELECT *
FROM (
  SELECT *
  FROM your_table
  WHERE your_column > 'значение'
  ORDER BY your_column ASC
  LIMIT 1
) AS next_record
UNION
SELECT *
FROM (
  SELECT *
  FROM your_table
  WHERE your_column < 'значение'
  ORDER BY your_column DESC
  LIMIT 1
) AS previous_record

В этом примере замените your_table на имя таблицы, в которой вы храните данные, и your_column на имя столбца, по которому вы хотите выбрать ближайшие большую и меньшую записи. Замените 'значение' на значение, относительно которого вы хотите выбрать записи.

В этом запросе первый подзапрос выбирает самую близкую бОльшую запись, сортируя записи по возрастанию значения столбца и ограничивая результат одной записью с помощью LIMIT 1. Второй подзапрос выбирает самую близкую меньшую запись, сортируя записи по убыванию значения столбца и также ограничивая результат одной записью с помощью LIMIT 1.

Объединение UNION объединяет результаты этих двух подзапросов в один результат, который будет содержать ближайшую бОльшую запись и ближайшую меньшую запись вместе. Вы можете использовать это выражение для выборки ближайших записей из вашей базы данных MySQL.