Menu
Coddy logo textTech

Повторение - Магазин общей прибыли

Часть раздела Основы путешествия по SQL на Coddy. Урок 40 из 72.

challenge icon

Задание

Легко

Доступные таблицы и столбцы:

  • <strong>shop</strong>: <strong>price</strong>, <strong>quantity</strong>, <strong>category</strong>, <strong>list_date</strong>

Ваша задача — рассчитать общий доход для каждой категории товаров в магазине в период с January 1, 2015 по March 18, 2015. Из-за систематической ошибки в системе ввода данных все значения цен в базе данных ниже, чем должны быть, на фиксированную величину.

Чтобы исправить эти цены:

  1. Сначала рассчитайте среднюю цену по всем товарам в указанном диапазоне дат (с 2015-01-01 (January 1, 2015) по 2015-03-18 March 18, 2015)
  2. Прибавьте эту среднюю цену к исходной цене каждого товара, чтобы получить правильное значение цены
  3. Для каждой категории рассчитайте общий доход, умножив скорректированную цену на количество и просуммировав эти значения
  4. Представьте результаты в виде пар (category, total_revenue), отсортированных по общему доходу в порядке убывания

Попробуйте сами

-- Шаг 2: сгруппировать перестроенные строки и подсчитать итоги, начиная с самых больших
SELECT ____
FROM (
    -- Шаг 1: перестроить каждую строку так, чтобы исправленное значение заменило исходное
    SELECT ____ AS price, quantity, category, list_date
    FROM shop
    WHERE list_date BETWEEN '2015-01-01' AND '2015-03-18'
)
GROUP BY ____
ORDER BY ____ DESC

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница SQL