开始使用免费开始使用

翻转您的 OVER 结果

在上一个练习中,查询生成的排名是从小到大。通过在窗口函数中添加 DESC,您可以将排名按从大到小排序。

SELECT 
    id,
    RANK() OVER(ORDER BY home_goal DESC) AS rank
FROM match;

本练习是课程的一部分

SQL 中的数据处理

查看课程

练习说明

  • leaguematch 中选择联赛的 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
___ ___ ___;
编辑并运行代码