1. Главная
  2. Библиотека
  3. Анализ хозяйственной деятельности
  4. Для каждого региона рассчитайте: • общее количество зак...
Разбор задачи

Для каждого региона рассчитайте: • общее количество заказов; • суммарную выручку; • среднюю стоимость одного заказа, округленную до двух знаков после запятой. Если число является целым (например, 4) или имеет один знак после запятой (например, 4.1), то

  • Предмет: Анализ хозяйственной деятельности
  • Автор: Кэмп
  • #Экономический анализ финансово-хозяйственной деятельности
  • #Системы показателей в анализе деятельности предприятия
Для каждого региона рассчитайте: • общее количество заказов; • суммарную выручку; • среднюю стоимость одного заказа, округленную до двух знаков после запятой. Если число является целым (например, 4) или имеет один знак после запятой (например, 4.1), то

Условие:

Для каждого региона рассчитайте:
• общее количество заказов;
• суммарную выручку;
• среднюю стоимость одного заказа, округленную до двух знаков после запятой. Если число является целым (например, 4) или имеет один знак после запятой (например, 4.1), то при округлении необходимо добавить нули до двух знаков после запятой (в примерах: 4.00 и 4.10).
Если значение order_amount отсутствует (NULL) — это значит, что заказ был бесплатным (например, по рекламному сотрудничеству с блогерами или в рамках благотворительной кампании). Такие заказы нужно учитывать для расчета количества, но для выручки они принимаются как 0.
Формат ввода
Таблица orders:
• order_id (int) — уникальный идентификатор заказа
• region (string) — регион, из которого поступил заказ
• order_date (timestamp) — дата и время оформления заказа
• order_amount (numeric) — сумма заказа, может быть NULL
Формат вывода
Запрос должен вернуть таблицу с полями в таком порядке:
• region (string) — регион, из которого поступил заказ
• total_orders (int) — общее число заказов
• total_revenue (numeric) — суммарная выручка
• avg_order_amount (numeric) — средняя сумма заказа
Результат отсортируйте по убыванию средней стоимости заказа, а затем по region в алфавитном порядке.

Решение:

  1. Для выбора заказов за май 2025 года нужно ограничить данные по полю order_date – выбрать даты от 1 мая 2025 года (включительно) до 1 июня 2025 года (не включительно).

  2. При расчёте выручки используется поле order_amount, при этом если значение отсутствует (NULL), его следует трактовать как 0. Для этого применяется функция COALESCE(order_amount, 0).

  3. Для каждого региона необходимо подсчитать:
    – общее количество заказов (можно использовать COUNT(*));
    – суммарную выручку – сумма order_amount, где NULL заменяются на 0 (SUM(COALESCE(order_amount, 0)));
    – среднюю стоимость заказа – среднее значение order_amount (где NULL заменяются на 0), округлённое до двух знаков после запятой. При этом если результат является целым числом или имеет один знак после запятой, необходимо добавить недостающие нули до двух знаков. Для этого удобно использовать функцию форматирования (например, TO_CHAR) с подходящим шаблоном формата.

  4. При группировке данные делятся по региону (GROUP BY region).

  5. Итоговую выборку требуется отсортировать:
    – по убыванию средней стоимости заказа,
    – и затем по алфавиту по региону.

    Ниже приведён итоговый SQL-запрос. Этот запрос написан с использованием синтаксиса PostgreSQL (функция TO_CHAR используется для форматирования среднего значения с двумя десятичными знаками):

    -----------------------------------------------------------\nSELECT
    region,
    COUNT(*...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой подход следует использовать для корректного расчёта суммарной выручки, если поле order_amount может содержать NULL значения, которые означают бесплатный заказ?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет