我正在尝试按我之前计算的分数对我的学生进行排名,但问题是如果学生的分数相同,他们应该在同一排名中
学生 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 个值)