Winst per maand
Na het prioriteren en het sluiten van deals met eetgelegenheden op basis van hun totale winst wil Alice de maandelijkse winst van Delivr bijhouden om te zien hoe goed het gaat. Jij gaat haar helpen.
Je krijgt twee CTE's. De eerste slaat de omzet op en de tweede de kosten. Om omzet en kosten in één query te gebruiken, worden de twee CTE's in de laatste query samengevoegd. Vanaf daar kun je de formule voor winst Profit = Revenue - Cost toepassen om de winst per maand te berekenen.
Onthoud dat de omzet de som is van de prijs van elke maaltijd keer de bestelhoeveelheid, en dat de kosten de som zijn van de kostprijs van elke maaltijd keer de aangevulde hoeveelheid.
Deze oefening maakt deel uit van de cursus
Zakelijke data analyseren in SQL
Oefeninstructies
- Bereken de omzet per maand in de CTE
revenue. - Bereken de kosten per maand in de CTE
cost. - Voeg de twee CTE's samen en bereken de winst per maand.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
-- 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;