除了MYSQL中的行数据外,获取行的排名的最佳方法是什么?
例如,说我有一个学生名单,我想在GPA上排名。我知道我可以按GPA排序,但是让MYSQL在返回的行数据中也返回排名的最快方法是什么?
这将返回排名为 rownum
rownum
SELECT @rownum := @rownum + 1 rownum, t.* FROM (SELECT @rownum:=0) r, (SELECT * FROM students ORDER BY gpa DESC) t;