翻转您的 OVER 结果
在上一个练习中,查询生成的排名是从小到大。通过在窗口函数中添加 DESC,您可以将排名按从大到小排序。
SELECT
id,
RANK() OVER(ORDER BY home_goal DESC) AS rank
FROM match;
本练习是课程的一部分
SQL 中的数据处理
练习说明
- 从
league和match中选择联赛的name以及总进球的平均值。 - 完成窗口函数,对每个联赛按平均进球数从高到低进行排名。
- 将主查询按您刚刚创建的排名进行
ORDER BY排序。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT
-- Select the league name and average goals scored
___ AS league,
___(___ + m.away_goal) AS avg_goals,
-- Rank leagues in descending order by average goals
___ ___(___ ___ ___(___ + m.away_goal) ___) AS league_rank
FROM league AS l
LEFT JOIN match AS m
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
___ ___ ___;