MYSQL получает последние 10 строк, но также включает строку, которой может не быть в 10 новейших

#mysql

#mysql

Вопрос:

В таблице 1000 строк с идентификатором от 1 до 1000.

Я хотел бы получить последние 10 строк (например, от 990 до 1000), но в том же запросе включить строку с id = 500

(можно вернуть 11 строк — если это поможет)

Есть предложения?

Комментарии:

1. Что, если нет строки с идентификатором 500, что вы хотите, чтобы произошло?

2. Ну, в моем случае это не имеет значения. Я предполагаю, что это классическая проблема веб-приложения — например, наличие html select, который не должен включать все 1000 строк, скажем, только 10 строк и ту, которая выбрана.

Ответ №1:

Я бы сделал заказ по идентификатору, равному 500, а затем по убыванию идентификатора, а затем ограничил результаты 11 строками:

 SELECT   *
FROM     mytable
ORDER BY id = 500 DESC, id DESC
LIMIT    11