2020-09-13 09:03:26
不仅要考虑满分的情况。。准确地说,同一个分数有 n 个人,不论 n 为多大,都只视为 1 个人。
所以满分 100 分,分数都是自然数的话:
12 个满分,正确的返回结果应该有 12 个同学。
9 个满分,2 个 99 分,正确的返回结果应该有 11 个同学。
8 个满分,2 个 99 分,1 个 98 分,正确的返回结果应该有 10 个同学,那个 98 分的同学被不在结果内。
8 个满分,1 个 99 分,2 个 98 分,正确的返回结果应该有 11 个同学,两个 98 分的同学全部在结果内。
各位,如果排名前十的成绩分别是 100 分 99 分 98 分 97 分 …… 91 分
但 100 分有 8 个 99 分有 1 个 98 分有 2 个
那么想要的结果中有 11 个学生
先按成绩分组取前十再 SELECT 出学生的思路里,如何知道前十的学生是十一个人?
而如果 100 分 7 个 99 分 1 个 98 分 1 个 97 分 6ge
那结果中又应当有 15 个学生
如何知道前十的学生是 15 个人?
当然,取出结果集后让 java 或者什么业务层来干是很轻易的了。。就是不知道纯 SQL 做得到吗?