向左滑動
滑動視窗(sliding windows)可以使用 PRECEDING、FOLLOWING 和 CURRENT ROW 等子句,在一個視窗內的任意兩個點之間進行「累積」計算。你可以在資料集裡由你指定的任意兩點之間,計算累積筆數、總和、平均值,或其他彙總函式。
在這個練習中,你會延伸影片中的示例,計算 FC Utrecht 在 2011/2012 賽季擔任主隊時的進球「累積」總數。到了賽季末,他們作為主隊或客隊進球更多?
本練習屬於課程
SQL 資料操作
練習說明
- 完成以下視窗函式:
- 計算 FC Utrecht 作為主隊時的進球「累積」總和(running total)。
- 計算主場進球的「累積」平均(running average)。
- 將累積平均與累積總和都依
date進行ORDER BY。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
SELECT
date,
home_goal,
away_goal,
-- Create a running total and running average of home goals
___(home_goal) ___(ORDER BY ___
ROWS BETWEEN ___ ___ AND ___ ___) AS running_total,
___(home_goal) ___(ORDER BY ___
ROWS BETWEEN ___ ___ AND ___ ___) AS running_avg
FROM match
WHERE
hometeam_id = 9908
AND season = '2011/2012';