Zacznij terazZacznij za darmo

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

Zobacz kurs

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;
Edytuj i uruchom kod