【发布时间】:2016-01-06 16:29:49
【问题描述】:
我正在尝试按照我之前计算的分数对我的学生进行排名 但问题是如果学生有相同的分数,他们都应该在同一个等级 例如
学生 1 满分 学生2满分
他们都必须排名为 1;
我正在尝试做的查询是(仅用于选择然后我可以将值插入我的列)
SELECT a.points
count(b.points)+1 as rank
FROM examresults a left join examresults b on a.points>b.points
group by a.points;
为了更清楚而编辑:
- 学生1分80
- 学生2分77.5
- 学生3分77.5
- 学生4分77
他们的等级应该是这样的
- 学生1排名1
- 学生2排名2
- 学生3排名2
- 学生4排名3
我当前的查询返回一个类似
的值因为它缺少第三级。 (因为第二个等级有 2 个值)
【问题讨论】:
-
假设学生 A 和 B 有 20 分,C 有 18 分,您希望 A 和 B 排名 1,C 排名 2 或 3?
-
A 和 B 排名 1 和 C 排名 2
标签: mysql sql sorting ranking mysql-variables