开始使用免费开始使用

按列进行 PARTITION BY

PARTITION BY 子句可让您基于想要划分结果的列来计算相互独立的"窗口"。例如,您可以创建一个列,按赛季计算每个赛季的总体场均进球数。

在本练习中,您将创建一份 Legia Warszawa(华沙军团,波兰排名最高的球队)的比赛数据集,并将其单场比赛表现与该赛季的总体平均值进行比较。

您觉得离群值更多地出现在何处?是 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 separately the average home and away goals scored, partitioned by season
    ___(___) ___(___ ___ ___) AS season_homeavg,
    ___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa (id 8673) matches only
WHERE 
	___ = ___ 
    OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;
编辑并运行代码