🏠 Домашнее задание: Summary session 5
⚡ Кратко
10 задач на агрегаты, группировку и фильтрацию для закрепления блока.
Часть 1. Статистики
- Посчитайте основные статистики — среднее, сумму, минимум, максимум — столбца
unit_cost. - Посчитайте количество уникальных заказов
purchase_order_id. - Посчитайте количество продуктов
product_idв каждом заказеpurchase_order_id. Отсортируйте по убыванию количества. - Посчитайте заказы по дате доставки
date_received, учитывая только строки сquantity > 30.
Часть 2. Группировка и категоризация
- Посчитайте суммарную стоимость заказов в каждую дату. Стоимость заказа =
quantity * unit_cost. - Сгруппируйте товары по
unit_costи вычислите среднее и максимальноеquantityтолько для товаров, гдеpurchase_order_id <= 100. - Выберите строки, где есть значение
inventory_id. Создайте столбецcategory: еслиunit_cost > 20, то'Expensive', иначе'Others'. Посчитайте количество продуктов в каждой категории.
Часть 3. Дополнительно
- Найдите категории товаров, где средняя
standard_costбольше 15. - Для каждого поставщика выведите количество категорий, в которых он представлен.
- Найдите группу уровня запаса (low/medium/high по
reorder_level) с наибольшей суммарной прибылью (list_price - standard_cost).
Проверка
- Все запросы выполняются без ошибок.
- Для фильтрации строк используется
WHERE, для групп —HAVING. - Результаты отсортированы там, где это логично.