Kom igångKom igång gratis

Vinst per månad

Efter att ha prioriterat och ingått avtal med restauranger utifrån deras totala vinster vill Alice nu följa Delivrs vinst per månad för att se hur det går. Det är här du kommer in.

Du får två CTE:er att utgå från. Den första lagrar intäkter och den andra lagrar kostnader. För att komma åt båda i en och samma fråga joins de två CTE:erna i den sista frågan. Därifrån kan du tillämpa formeln Vinst = Intäkter - Kostnader för att beräkna vinsten per månad.

Kom ihåg att intäkter är summan av varje maträtts pris multiplicerat med orderkvantiteten, och att kostnader är summan av varje maträtts kostnad multiplicerat med lagersatt kvantitet.

Den här övningen är en del av kursen

Analysera affärsdata i SQL

Visa kurs

Övningsinstruktioner

  • Beräkna intäkter per månad i CTE:n revenue.
  • Beräkna kostnader per månad i CTE:n cost.
  • Joina de två CTE:erna och beräkna vinsten per månad.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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;
Redigera och kör kod