每月利润
在根据整体利润为各餐馆排定优先级并达成合作后,Alice 想按月跟踪 Delivr 的利润,以了解业务表现。现在由您来协助完成。
提供了两个 CTE。第一个存储收入,第二个存储成本。为了在同一个查询中获取收入与成本,最后一个查询会将两个 CTE 进行连接。之后,您可以应用利润公式 Profit = Revenue - Cost 来计算每月利润。
请记住:收入是各餐品单价与其订单数量相乘后的总和;成本是各餐品成本与其入库数量相乘后的总和。
本练习是课程的一部分
使用 SQL 分析业务数据
练习说明
- 在
revenueCTE 中计算每月收入。 - 在
costCTE 中计算每月成本。 - 连接这两个 CTE,并计算每月利润。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- 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;