SQL WHERE, GROUP BY и AVG: средний чек по регионам
Фильтрация категории перед группировкой меняет набор строк, по которому считается среднее. Если сначала усреднить все продажи, а затем попытаться выделить категорию, получится другой показатель.
Сначала сформулируйте, какие операции относятся к отчёту. Затем выберите ключ группы и агрегат. В условии ниже указаны пороги и точный формат результата — проверьте их отдельно от синтаксиса.
Проверьте решение без регистрации. Объяснения и последовательная практика — в курсе «SQL с нуля: бесплатный курс с практикой».
Продажи электроники по регионам
В таблице sales накапливаются данные о продажах: каждая запись содержит идентификатор, регион, категорию товара и сумму сделки. Интересно посмотреть, какие регионы действительно активны в сегменте электроники и насколько там высок средний чек.
Нужно проанализировать только продажи категории «электроника» и по каждому региону посчитать количество таких продаж и среднюю сумму. В итоговую выборку попадают лишь те регионы, где средняя сумма строго превышает 5000.
Запрос должен вернуть три столбца — region, cnt и avg_amount — и отсортировать строки по avg_amount от большего к меньшему; если у двух регионов средняя сумма совпадает, между ними действует алфавитный порядок по region.
Техническая спецификация
Таблица имеет схему sales(sale_id INTEGER, region TEXT, category TEXT, amount INTEGER). Категория в данных записана точной строкой электроника. Верните ровно три столбца в порядке region, cnt, avg_amount. cnt — количество учтённых продаж региона, avg_amount — среднее значение amount без дополнительного округления. Порог строгий: среднее ровно 5000 не включается. Порядок результата: avg_amount по убыванию, затем region по возрастанию.
Пример
- Подготовка данных
INSERT INTO sales VALUES (1, 'Север', 'электроника', 12000), (2, 'Юг', 'электроника', 8000), (3, 'Север', 'одежда', 3000), (4, 'Юг', 'одежда', 5000), (5, 'Север', 'электроника', 7000), (6, 'Юг', 'одежда', 2000), (7, 'Север', 'одежда', 4000);- Вывод
Север|2|9500.0 Юг|1|8000.0
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
