我有一个表“student_marks”有两列“student_id数据”和“标志”:如何在mysql中计算排名?
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
由于两个学生students_id 1和3具有最高分5,它们被放置在秩1。对于学生标记2,秩为3,因为有两名学生谁拥有更多的分数,然后这些家伙。
我们如何编写查询来计算上面显示的排名?
相关:http://stackoverflow.com/questions/1895110/row-number-in-mysql –
你SO发布之前搜索? –
如果您查看上述问题中的预期等级列,则不存在等级2.这是因为有两个等级为1的人。我正在查询一种方法来获得上述问题中的等级(1,3,1,5 ,3)而不是(1,2,1,3,2)。 – sushil