Получить другой заказ после лимита

Представьте, что у меня есть таблица "пользователи" с двумя полями: "возраст" и "имя". Я хочу получить первую десятку старых пользователей, а затем я хочу, чтобы этот список из десяти был отсортирован по имени.

Можно ли сделать это с MySQL?

Я попробовал это: (не работает)

SELECT * FROM users order by age, name limit 10

Ответ 1

Используйте подзапрос:

SELECT * FROM
(
    SELECT *
    FROM users
    ORDER BY age DESC
    LIMIT 10
) AS T1
ORDER BY name

Внутренний выбор находит 10 строк, которые вы хотите вернуть, и внешний выбор помещает их в правильном порядке.