Повысьте свои навыки работы с SQL: несколько способов суммировать проданное количество и цену за единицу продукции при анализе продаж продукции

В мире анализа данных SQL (язык структурированных запросов) играет жизненно важную роль в извлечении значимой информации из больших наборов данных. Одной из распространенных задач при анализе продаж продукции является расчет общего количества проданных товаров и общего дохода, полученного от каждого продукта. В этой статье мы рассмотрим несколько методов достижения этой цели с помощью SQL, а также примеры кода и разговорные объяснения.

Метод 1: использование функции SUM() и предложения GROUP BY
Функция SUM() — это мощная агрегатная функция SQL, которая позволяет нам вычислить сумму определенного столбца. В этом случае мы можем использовать его для суммирования проданного количества и цены за единицу каждого продукта. Предложение GROUP BY используется для группировки результатов по названию продукта и SKU (единице учета запасов) для получения желаемого результата.

SELECT product_name,
       product_sku,
       SUM(quantity) AS quantity_sold,
       SUM(unit_price) AS total_revenue
FROM sales_table
GROUP BY product_name, product_sku;

Метод 2: использование подзапросов
Другой способ добиться того же результата — использовать подзапросы. Мы можем сначала рассчитать сумму количества и цены за единицу каждого продукта в отдельных подзапросах, а затем объединить результаты на основе названия продукта и SKU.

SELECT p.product_name,
       p.product_sku,
       q.quantity_sold,
       r.total_revenue
FROM products_table p
JOIN (
    SELECT product_name,
           product_sku,
           SUM(quantity) AS quantity_sold
    FROM sales_table
    GROUP BY product_name, product_sku
) q ON p.product_name = q.product_name AND p.product_sku = q.product_sku
JOIN (
    SELECT product_name,
           product_sku,
           SUM(unit_price) AS total_revenue
    FROM sales_table
    GROUP BY product_name, product_sku
) r ON p.product_name = r.product_name AND p.product_sku = r.product_sku;

Метод 3: использование CTE (общее табличное выражение)
CTE — это мощная функция SQL, которая позволяет нам определять временные наборы результатов, делая сложные запросы более читабельными. Мы можем использовать CTE для расчета суммы проданного количества и цены за единицу каждого продукта, а затем объединить CTE с таблицей продуктов.

WITH product_sales AS (
    SELECT product_name,
           product_sku,
           SUM(quantity) AS quantity_sold,
           SUM(unit_price) AS total_revenue
    FROM sales_table
    GROUP BY product_name, product_sku
)
SELECT p.product_name,
       p.product_sku,
       ps.quantity_sold,
       ps.total_revenue
FROM products_table p
JOIN product_sales ps ON p.product_name = ps.product_name AND p.product_sku = ps.product_sku;

В этой статье мы рассмотрели три различных метода расчета общего объема продаж и общего дохода, полученного от каждого продукта при анализе продаж. Мы использовали функцию SQL SUM() с предложением GROUP BY, подзапросами и CTE для достижения желаемых результатов. Используя эти методы, вы сможете улучшить свои навыки работы с SQL и выполнять эффективный анализ данных о продажах продуктов.