Zysk per miesiąc
Po ustaleniu priorytetów i wynegocjowaniu umów z restauracjami na podstawie ich łącznych zysków, Alice chce śledzić miesięczne zyski Delivr, żeby ocenić, jak firma sobie radzi. Tu właśnie wkraczasz do akcji.
Do dyspozycji masz dwa CTE. Pierwszy przechowuje przychód, a drugi – koszt. Aby uzyskać dostęp do obu wartości w jednym zapytaniu, CTE są złączone w ostatnim zapytaniu. Na tej podstawie możesz zastosować formułę zysku Profit = Revenue - Cost, żeby obliczyć zysk per miesiąc.
Pamiętaj, że przychód to suma iloczynów ceny i ilości zamówień dla każdego dania, a koszt to suma iloczynów kosztu i ilości zakupionego towaru dla każdego dania.
To ćwiczenie jest częścią kursu
Analiza danych biznesowych w SQL
Instrukcje do ćwiczenia
- Oblicz przychód per miesiąc w CTE
revenue. - Oblicz koszt per miesiąc w CTE
cost. - Złącz oba CTE i oblicz zysk per miesiąc.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- Set up the revenue CTE
WITH revenue AS (
SELECT
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
___ AS revenue
FROM meals
JOIN orders ON meals.meal_id = orders.meal_id
GROUP BY delivr_month),
-- Set up the cost CTE
cost AS (
SELECT
DATE_TRUNC('month', stocking_date) :: DATE AS delivr_month,
___ AS cost
FROM meals
JOIN stock ON meals.meal_id = stock.meal_id
GROUP BY delivr_month)
-- Calculate profit by joining the CTEs
SELECT
___,
___
FROM revenue
JOIN cost ON revenue.delivr_month = cost.delivr_month
ORDER BY revenue.delivr_month ASC;