Группировка по нескольким столбцам
Группу может определять сочетание значений
GROUP BY может принимать несколько столбцов. В этом случае в одну группу попадают строки, у которых совпадает вся указанная комбинация значений.
SELECT category, status, COUNT(*) AS product_count
FROM products
GROUP BY category, status;
Например, товары категории book со статусом ACTIVE образуют одну группу, а товары той же категории со статусом ARCHIVED — уже другую.
Количество групп растёт вместе с детализацией
Группировка только по category отвечает на вопрос «сколько товаров в каждой категории». Добавление status меняет вопрос на «сколько товаров каждого статуса в каждой категории».
SELECT country, city, AVG(total) AS average_order
FROM orders
GROUP BY country, city;
Теперь среднее считается отдельно для каждой пары country + city, а не для страны целиком.
Перед GROUP BY сформулируй, что именно должна представлять одна строка результата.
Если одна строка должна означать «категория + статус», оба столбца естественным образом становятся частью ключа группировки.
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти