#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