開始使用免費開始

以多個欄位進行 PARTITION BY

PARTITION BY 子句可用來依多個資料點(欄位)切分視窗平均值。你甚至可以先計算出用來分割資料的資訊!例如,你可以計算依球季與國家,或依曆年(從日期欄位取得)的平均進球數。

在這個練習中,你要計算 Legia Warszawa 與其對手的主客場平均進球數,並依各球季中的月份來分割。

本練習屬於課程

SQL 資料操作

檢視課程

練習說明

  • 建立兩個視窗函式,將主場與客場進球的平均數,依球季與月份進行分割。
  • 將資料集篩選為 Legia Warszawa 的球隊 ID(8673),讓視窗計算只包含與該隊相關的比賽。

動手互動練習

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

SELECT 
	date,
	season,
	home_goal,
	away_goal,
	CASE WHEN hometeam_id = 8673 THEN 'home' 
         ELSE 'away' END AS warsaw_location,
	-- Calculate average goals partitioned by season and month
    ___(home_goal) ___(___ ___ ___, 
         	EXTRACT(___ FROM date)) AS season_mo_home,
    ___(away_goal) ___(___ ___ ___, 
            EXTRACT(___ FROM date)) AS season_mo_away
FROM match
WHERE 
	hometeam_id = ___
    OR awayteam_id = ___
ORDER BY (home_goal + away_goal) DESC;
編輯並執行程式碼