在 SELECT 子句中加入子查询
SELECT 语句中的子查询会生成单个值,方便您将聚合值下传到数据框中。这有助于您在数据库内对数据执行计算。
在下面的练习中,您将构造一个查询,用于计算各个国家联赛中每场比赛的平均进球数。
本练习是课程的一部分
SQL 中的数据处理
练习说明
- 在子查询中,通过相加
home_goal和away_goal来选择平均总进球数,然后 - 将结果过滤为仅计算
'2013/2014'赛季的平均进球数。 - 在主查询中,同样通过相加
home_goal和away_goal来选择平均总进球数,从而计算各联赛的平均进球数,然后 - 在主查询中按与子查询相同的方式进行过滤。将查询按联赛
name进行GROUP BY。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT
l.name AS league,
-- Round the average of the league's total goals
ROUND(___(___ + m.away_goal), 2) AS avg_goals,
-- Select and round the average total goals for the season
(SELECT ___(___(___ + away_goal), 2)
FROM match
___ ___ = ___) AS overall_avg
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Filter for the 2013/2014 season
WHERE ___ = ___
GROUP BY ___;