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

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

Разбор

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

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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