SQL GROUP BY и SUM: задача на выручку по категориям

GROUP BY объединяет строки по выбранному ключу, а SUM вычисляет итог внутри группы. Перед запросом определите зерно результата: в этом упражнении одна строка соответствует категории.

Сортировка по сумме не определяет порядок при равных итогах. Добавьте второй ключ сортировки и сохраните имена и порядок столбцов из спецификации. Таблица и ожидаемый формат приведены ниже.

Проверьте решение без регистрации. Объяснения и последовательная практика — в курсе «SQL с нуля: бесплатный курс с практикой».

Выручка по категориям

В таблице sales хранятся данные о продажах: каждая запись содержит идентификатор, регион, категорию и сумму. Иногда полезно посмотреть не на отдельные операции, а на общую картину — сколько в итоге принесла каждая категория.

Напиши запрос, который вернёт по одной строке на каждую категорию. В результате должны быть два столбца: category и total, где total — суммарное значение amount по всем записям этой категории.

Строки упорядочи по total от большего к меньшему. Если у двух категорий суммы совпадают, поставь их в алфавитном порядке по category.

Техническая спецификация

Таблица имеет схему sales(sale_id INTEGER, region TEXT, category TEXT, amount INTEGER). Верни ровно два столбца в порядке category, total. Для каждой категории должна быть ровно одна строка. Порядок результата: total по убыванию, затем category по возрастанию.

Пример

Подготовка данных
INSERT INTO sales VALUES
    (1, 'Север', 'электроника', 12000),
    (2, 'Юг', 'электроника', 8000),
    (3, 'Север', 'одежда', 3000),
    (4, 'Юг', 'одежда', 5000),
    (5, 'Север', 'электроника', 7000),
    (6, 'Юг', 'одежда', 2000),
    (7, 'Север', 'одежда', 4000);
Вывод
электроника|27000
одежда|14000
РешениеSQL · SQLite

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи