Как лучше всего получить ранг строк в дополнение к данным строк в MYSQL?
Например, скажем, у меня есть список студентов, и я хочу попасть в средний балл. Я знаю, что могу сделать заказ по GPA, но как быстрее всего MYSQL вернет и рейтинг в возвращаемых данных rowdata?
Возможный дубликат MySQL - получить номер строки при выборе


Это вернет рейтинг как rownum.
SELECT @rownum := @rownum + 1 rownum,
t.*
FROM (SELECT @rownum:=0) r,
(SELECT * FROM students ORDER BY gpa DESC) t;
Ваш ответ выглядит намного сложнее, чем ответ Уильяма. Какая разница?
Это одно заявление. У Уильяма - два разных утверждения. Вот почему все сложнее.
Это вернет звание студента, студенческий билет и средний балл.
set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, student_id, gpa
FROM `students` ORDER BY gpa DESC