复制即可:
SELECT (@rowNO := @rowNo+1) AS rowno FROM (
SELECT * FROM (自己的表名)
) a,(SELECT @rowNO :=0) b
例子:
SELECT (@rowNO := @rowNo+1) AS rowno,a.*,(自己表中的字段) FROM (
SELECT * FROM w_student_exam (自己的表名)
) a ,(SELECT @rowNO :=0) b ORDER BY a.score DESC(按照哪个字段排序)
如果想要获取某个条件下的数据排名:
例:获取学生Id 为23 的学生的分数(score) 的排名
子查询从内到外:最内层 是查到所有数据,其次将数据排序并加上名次,最后按照条件获取其中某一条的名次
SELECT * FROM(
SELECT (@rowNO := @rowNo+1) AS rowno,a.* FROM (
SELECT * FROM w_student_exam
) a ,(SELECT @rowNO :=0) b ORDER BY a.score DESC
) asd WHERE asd.student_id=23