看了几个大佬写的题解,确实都很厉害,在这里我再提出一种新的解法(因为当初看题解的时候自己其实已经做到最后一步了,就想花点时间去按照自己的思路写出来,不想半途放弃o(╥﹏╥)o) 1 首先还是利用 sum() over()窗口函数求出各等级最差排名 select grade,number,sum(number) over(order by grade) max_rank from class_grade 2 用 最差排名-此等级人数+1 可得到此等级最好排名 select a.grade,a.number,a.max_rank-a.number+1 min_rank,max_rank fro...