6
除了MYSQL中的行數據之外,獲得行級別的最佳方式是什麼?在MYSQL中產生排名的最好方法是什麼?
例如,假設我有一份學生名單,我想在GPA上排名。我知道我可以通過GPA進行訂購,但是在返回的rowdata中,讓MYSQL返回排名的最快方式是什麼?
除了MYSQL中的行數據之外,獲得行級別的最佳方式是什麼?在MYSQL中產生排名的最好方法是什麼?
例如,假設我有一份學生名單,我想在GPA上排名。我知道我可以通過GPA進行訂購,但是在返回的rowdata中,讓MYSQL返回排名的最快方式是什麼?
這將返回等級爲rownum
SELECT @rownum := @rownum + 1 rownum,
t.*
FROM (SELECT @rownum:=0) r,
(SELECT * FROM students ORDER BY gpa DESC) t;
這將返回學生的等級,學生證,和GPA。
set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, student_id, gpa
FROM `students` ORDER BY gpa DESC
http://dba.stackexchange.com/questions/13703/get-the-rank-of-a-user-in-a-score-table – 2015-10-07 05:15:44
[的MySQL可能的複製 - 對獲取行號選擇](http://stackoverflow.com/questions/2520357/mysql-get-row-number-on-select) – 2015-10-07 05:31:43