逐週比較
在上一個練習中,你使用了以月份為單位的視窗來計算逐月變化。不過有時你會想用不同的時間區間,例如比較最近 7 天與再前 7 天。若要計算最近 7 天的數值,你需要設定一個滾動計算。
在本練習中,你要計算每個 date 的 views 之滾動 7 日平均,並將其與前一個 7 日平均的 views 進行比較。這能為每一天提供清楚的逐週比較。
滾動平均的語法為 AVG(value) OVER (PARTITION BY field ORDER BY field ROWS BETWEEN N PRECEDING AND CURRENT ROW),其中 N 是在計算時往回看的列數。記得 CURRENT ROW 也算作一列。
本練習屬於課程
SQL 報表製作
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
SELECT
-- Pull in date and daily_views
____,
____ AS daily_views,
-- Calculate the rolling 7 day average
____ AS weekly_avg
FROM ____
GROUP BY ____;