開始使用免費開始

各餐館的獲利

Delivr 正在與合作餐館重新談定合約。某家餐館帶來的獲利越高,Delivr 願意為其大量採購餐點支付的單價就越高。

業務開發團隊要你找出每家餐館創造的獲利金額,以強化談判籌碼。

注意:你不需要在最後的查詢中對 eatery 使用 GROUP BY。你已經在 revenue 與 cost 這兩個 CTE 中依 eatery 做過分組;最後只需要把它們彼此連接起來,就能在同一列取得每家餐館的營收與成本。由於營收與成本在每家餐館各佔一列,因此不需要再做其他分組。

本練習屬於課程

使用 SQL 分析商業資料

檢視課程

練習說明

  • revenue CTE 中計算每家餐館的營收。
  • cost CTE 中計算每家餐館的成本。
  • 將兩個 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;
編輯並執行程式碼