最简单的解题方法

利用累加开窗函数 sum(number)over(order by xxx)

解题思路:A B C D E 5个段有多少学生,我们是知道的,但是并没有把这些数据拼在一起。由此,只要将这些每个段多少学生全部分组累加起来,我们就知道学生的总数了,而总数 = 最后一名。我们就可以知道最差是第几名了。

误区:千万不要想分数是多少,然后按分数去知晓最后一名。因为A B C D E 5个段是一个模糊的概念。

这道题可以结合前面SQL60题看看

select grade,
	sum(number) over (order by grade) as t_rank
from class_grade
group by grade
order by grade