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
Ö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;