Главная → Практика → SQL Тренажёр → Топ-3 товара в каждой категории
Топ-3 товара в каждой категории
Средняя
ranking
Условие задачи
Таблица `sales(product_id, category, revenue)`. В каждой категории найди топ-3 товара по выручке. Колонки: `category`, `product_id`, `revenue`, `rank_in_cat`. Сортировка: `category`, `rank_in_cat`.
Схема данных
CREATE TABLE sales (product_id INTEGER PRIMARY KEY, category TEXT, revenue REAL);
Темы
window ranking row-number top-n
Подсказки
`ROW_NUMBER() OVER (PARTITION BY category ORDER BY revenue DESC)` — нумерация внутри каждой категории.
Фильтр `WHERE rank <= 3` оставляет только топ-3.
Если нужны "все товары с равной выручкой топ-3" — используй `RANK()` вместо ROW_NUMBER.
Решить в интерактивной SQL-песочнице →
← Все SQL-задачи
Смежные разделы:
Обновлено: 2026-06-02