← К оглавлению занятия

🏠 Домашнее задание: Summary session 5

⚡ Кратко

10 задач на агрегаты, группировку и фильтрацию для закрепления блока.

Часть 1. Статистики

  1. Посчитайте основные статистики — среднее, сумму, минимум, максимум — столбца unit_cost.
  2. Посчитайте количество уникальных заказов purchase_order_id.
  3. Посчитайте количество продуктов product_id в каждом заказе purchase_order_id. Отсортируйте по убыванию количества.
  4. Посчитайте заказы по дате доставки date_received, учитывая только строки с quantity > 30.

Часть 2. Группировка и категоризация

  1. Посчитайте суммарную стоимость заказов в каждую дату. Стоимость заказа = quantity * unit_cost.
  2. Сгруппируйте товары по unit_cost и вычислите среднее и максимальное quantity только для товаров, где purchase_order_id <= 100.
  3. Выберите строки, где есть значение inventory_id. Создайте столбец category: если unit_cost > 20, то 'Expensive', иначе 'Others'. Посчитайте количество продуктов в каждой категории.

Часть 3. Дополнительно

  1. Найдите категории товаров, где средняя standard_cost больше 15.
  2. Для каждого поставщика выведите количество категорий, в которых он представлен.
  3. Найдите группу уровня запаса (low/medium/high по reorder_level) с наибольшей суммарной прибылью (list_price - standard_cost).

Проверка

  • Все запросы выполняются без ошибок.
  • Для фильтрации строк используется WHERE, для групп — HAVING.
  • Результаты отсортированы там, где это логично.