開始使用免費開始

依月份樞紐分析使用者營收

接著,Eve 告訴你,高階主管偏好寬表而不是長表,因為更容易快速瀏覽。她準備了一份依月份彙整的使用者營收範例報告,列出 2018 年 6 月到 8 月期間,前 5 個使用者 ID 的營收。主管們要她把這張表依月份做樞紐轉換。她把這個任務交給你了。

請把依月份的使用者營收查詢做樞紐轉換,讓使用者 ID 成為列,2018 年 6 月到 8 月各月份成為欄。

本練習屬於課程

使用 SQL 分析商業資料

檢視課程

練習說明

  • tablefunc 啟用 CROSSTAB()
  • 宣告新的樞紐表欄位:使用者 ID,以及營運的前 3 個月份。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

-- Import tablefunc
CREATE EXTENSION IF NOT EXISTS ___;

SELECT * FROM CROSSTAB($$
  SELECT
    user_id,
    DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
    SUM(meal_price * order_quantity) :: FLOAT AS revenue
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
 WHERE user_id IN (0, 1, 2, 3, 4)
   AND order_date < '2018-09-01'
 GROUP BY user_id, delivr_month
 ORDER BY user_id, delivr_month;
$$)
-- Select user ID and the months from June to August 2018
AS ct (___ INT,
       ___ FLOAT,
       ___ FLOAT,
       ___ FLOAT)
ORDER BY user_id ASC;
編輯並執行程式碼