16. 查询学生的总成绩,并进行排名,总分重复时保留名次空缺
第一步:首先查出每个学生的总成绩
SELECT
sid,
SUM(score)
FROM sc
GROUP BY sid
![在这里插入图片描述](https://img-blog.csdnimg.cn/369dca343bf6478ea824717c81f65977.png)
第二步: 将第一步获得的临时结果表按总成绩进行排名
SELECT
sid,
sum_score,
rank() over (ORDER BY sum_score DESC) AS '排名'
FROM (
SELECT
sid,
SUM(score) AS sum_score
FROM sc
GROUP BY sid) a;
![在这里插入图片描述](https://img-blog.csdnimg.cn/eb168cf60363434caeceb423c7706b6e.png)