Нужно получить 5 самых дешёвых товаров категории 'electronics' из таблицы products. Какой запрос верный?

ASELECT product_id, price FROM products WHERE category = 'electronics' ORDER BY price ASC LIMIT 5
BSELECT product_id, price FROM products WHERE category = 'electronics' ORDER BY price DESC LIMIT 5
CSELECT product_id, price FROM products ORDER BY price ASC LIMIT 5
DSELECT product_id, price FROM products WHERE category = 'electronics' LIMIT 5
Правильный ответ. Чтобы взять «топ-N по критерию», нужна сортировка по критерию и LIMIT после неё.

Разбор

Сначала отфильтровываем нужную категорию через WHERE category = 'electronics'. Затем сортируем по цене по возрастанию, чтобы дешёвые были сверху: ORDER BY price ASC. И берём первые 5 строк через LIMIT 5. Если убрать ORDER BY, то LIMIT 5 не гарантирует, что это будут самые дешёвые.

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

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