mysql计算排名,获取行号rowno
学生成绩表数据
SELECT * FROM table_score ORDER BY score DESC;
获取某个学生成绩排名并计算该学生和上一名学生成绩差,是并列排名
SELECT *,(SELECT count(DISTINCT score) FROM table_score AS b WHERE a.scorea.score ORDER BY b.score LIMIT 1)-a.score AS subtract #获取和上一名学生成绩的差 FROM table_score AS a WHERE a.s_id = 13; #获取学生周三的成绩排名和与上一名的成绩差
获取所有学生成绩排名-并列排名
SELECT *,(SELECT count(DISTINCT score) FROM table_score AS b WHERE a.score
获取所有学生成绩排名,不是并列排名。计算行号进行排名
SELECT a.*,(@rowNum:=@rowNum+1) AS rank #计算行号FROM table_score AS a,(SELECT (@rowNum :=0) ) bORDER BY a.score DESC;