我有一个表'student_marks',有两列'student_id'和'mark':
student_id | marks
-------------------
1 | 5
2 | 2
3 | 5
4 | 1
5 | 2
我需要计算与标记对应的等级。上表的预期输出为:
student_id | marks | rank
-------------------------
1 | 5 | 1
2 | 2 | 3
3 | 5 | 1
4 | 1 | 5
5 | 2 | 3
由于 student_id 为 1 和 3 的两个学生的分数最高为 5,因此他们被排在第 1 位。对于分数为 2 的学生,排名为 3,因为有两个学生的分数高于这些人。
如上所示,我们如何编写查询来计算排名?