Ранжирование: ROW_NUMBER, RANK, DENSE_RANK
Содержание курса
0 / 1 баллов
Три позиции по сумме в каждой категории
Верните заказы, попавшие в первые три различные позиции по сумме внутри своей категории. Для каждого заказа выведите order_id, category, total_amount, amount_rank. Одинаковые суммы внутри категории получают одинаковую позицию, а следующая меньшая сумма — следующий номер без пропуска. В результате остаются позиции 1–3. Отсортируйте по category, amount_rank, order_id.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
Проверяется тестами (1)
- Тест 1Дополнительная подготовка SQLite
INSERT INTO orders (order_id, category, total_amount) VALUES (1, 'Книги', 500), (2, 'Книги', 400), (3, 'Книги', 400), (4, 'Книги', 300), (5, 'Книги', 200), (6, 'Игры', 900), (7, 'Игры', 100);
Ожидаемый результат SQLite6|Игры|900|1 7|Игры|100|2 1|Книги|500|1 2|Книги|400|2 3|Книги|400|2 4|Книги|300|3
Практика SQLite 3
Запрос выполняется в изолированной SQLite-базе через Modal. Скрытые проверки могут добавлять свои строки перед запуском решения.
РешениеSQL · SQL / SQLite 3 (Modal)
Отправьте решение, чтобы увидеть результаты тестов.
