各餐館的獲利
Delivr 正在與合作餐館重新談定合約。某家餐館帶來的獲利越高,Delivr 願意為其大量採購餐點支付的單價就越高。
業務開發團隊要你找出每家餐館創造的獲利金額,以強化談判籌碼。
注意:你不需要在最後的查詢中對 eatery 使用 GROUP BY。你已經在 revenue 與 cost 這兩個 CTE 中依 eatery 做過分組;最後只需要把它們彼此連接起來,就能在同一列取得每家餐館的營收與成本。由於營收與成本在每家餐館各佔一列,因此不需要再做其他分組。
本練習屬於課程
使用 SQL 分析商業資料
練習說明
- 在
revenueCTE 中計算每家餐館的營收。 - 在
costCTE 中計算每家餐館的成本。 - 將兩個 CTE 連接起來,並計算每家餐館的獲利。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
WITH revenue AS (
-- Calculate revenue per eatery
SELECT ___,
___ AS revenue
FROM meals
JOIN orders ON meals.meal_id = orders.meal_id
GROUP BY eatery),
cost AS (
-- Calculate cost per eatery
SELECT ___,
___ AS cost
FROM meals
JOIN stock ON meals.meal_id = stock.meal_id
GROUP BY eatery)
-- Calculate profit per eatery
SELECT ___,
___
FROM revenue
JOIN cost ON revenue.eatery = cost.eatery
ORDER BY profit DESC;