В таблице orders нужно вывести заказы так, чтобы сначала шли самые дорогие (amount), а при одинаковой сумме — более ранние по created_at (чтобы вверху был «первый» из одинаковых). Какой ORDER BY подходит?

AORDER BY amount ASC, created_at ASC
BORDER BY created_at ASC, amount DESC
CORDER BY amount DESC, created_at ASC
DORDER BY amount DESC, created_at DESC
Правильный ответ. В ORDER BY можно задавать приоритет столбцов и направления сортировки для каждого столбца.

Разбор

Основной критерий — сумма заказа, поэтому amount должен идти первым. «Самые дорогие сверху» означает amount DESC. Вторичный критерий применяется только при равном amount: «более ранние выше» означает created_at ASC. Итог: ORDER BY amount DESC, created_at ASC.

Проверь себя · 1/3разбор после ответа
Нужно показать 3-ю страницу каталога товаров: по 20 товаров на страницу, сортировка по цене по возрастанию (price). Какой запрос корректный?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»