每月獲利
在依整體獲利為餐館排定優先順序並完成議價後,Alice 想追蹤 Delivr 的每月獲利,看看表現如何。你要來協助她。
你會拿到兩個 CTE。第一個儲存營收,第二個儲存成本。為了在同一個查詢中同時取得營收與成本,最後的查詢會把這兩個 CTE 做 JOIN。接著,你就能套用獲利公式 Profit = Revenue - Cost 來計算每月獲利。
請記住:營收是各餐點「單價乘以下單數量」的總和;成本是各餐點「成本單價乘以進貨數量」的總和。
本練習屬於課程
使用 SQL 分析商業資料
練習說明
- 在
revenueCTE 中計算每月營收。 - 在
costCTE 中計算每月成本。 - 將兩個 CTE 做 JOIN,並計算每月獲利。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- 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;