開始使用免費開始

逐月比較

為了比較每個月,你需要使用以下其中一個視窗函式:

  • LAG(value, offset):會輸出報表中相對於目前列,往前 offset 筆的值。
  • LEAD(value, offset):會輸出報表中相對於目前列,往後 offset 筆的值。

你的目標是建立一個報表,顯示各國家逐月的瀏覽量變化。幾個提示:

  • 你需要把日期分箱到各月份。可以使用 DATE_PART() 函式來完成。
  • 你可以用下列公式計算百分比變化(value)/(previous_value) - 1
  • 如果在 LAG()LEAD() 中未提供 offset,預設值為 1。

由於資料表在 6 月中旬就結束,查詢已設定只包含截至 5 月底的資料。

本練習屬於課程

SQL 報表製作

檢視課程

練習說明

  • web_data 取出 country_id,並使用 DATE_PART() 函式建立 month
  • 建立 month_views,彙總該月份內的總瀏覽量。
  • 建立 previous_month_views,抓取該國家上個月的總瀏覽量。
  • 建立欄位 perc_change,計算該國家本月相對於上月的百分比變化;負值代表瀏覽量下降,正值代表成長。

動手互動練習

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

SELECT
	-- Pull month and country_id
	____ AS month,
	____,
    -- Pull in current month views
    ____ AS month_views,
    -- Pull in last month views
    ____ AS previous_month_views,
    -- Calculate the percent change
    ____ AS perc_change
FROM ____
WHERE date <= '2018-05-31'
GROUP BY ____;
編輯並執行程式碼