Profit par mois
Après avoir hiérarchisé et négocié avec les restaurants selon leur profit global, Alice souhaite suivre le profit mensuel de Delivr pour voir ses performances. Vous êtes là pour l’aider.
Deux CTE vous sont fournies. La première stocke le chiffre d’affaires (revenue) et la seconde le coût. Pour accéder au chiffre d’affaires et au coût dans une seule requête, les deux CTE sont jointes dans la dernière requête. À partir de là, vous pouvez appliquer la formule du profit Profit = Revenue - Cost pour calculer le profit par mois.
Rappelez-vous que le chiffre d’affaires correspond à la somme, pour chaque plat, du prix multiplié par la quantité commandée, et que le coût correspond à la somme, pour chaque plat, du coût multiplié par la quantité mise en stock.
Cet exercice fait partie du cours
<cours>Analyser des données métier en SQL</cours>Instructions de l’exercice
- Calculez le chiffre d’affaires par mois dans la CTE
revenue. - Calculez le coût par mois dans la CTE
cost. - Joignez les deux CTE et calculez le profit par mois.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;