16. 查询学生的总成绩,并进行排名,总分重复时保留名次空缺
第一步:首先查出每个学生的总成绩
SELECT
sid,
SUM(score)
FROM sc
GROUP BY sid

第二步: 将第一步获得的临时结果表按总成绩进行排名
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;
