Каков наилучший способ получения рангов в MYSQL? - PullRequest
6 голосов
/ 10 января 2009

Какой лучший способ получить ранг строк в дополнение к данным строк в MYSQL?

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

Ответы [ 2 ]

6 голосов
/ 10 января 2009

Возвращает рейтинг ученика, студенческий билет и средний балл.

set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, student_id, gpa 
    FROM `students` ORDER BY gpa DESC
5 голосов
/ 10 января 2009

Это вернет ранг как rownum

SELECT @rownum := @rownum + 1 rownum, 
       t.* 
  FROM (SELECT @rownum:=0) r, 
       (SELECT * FROM students ORDER BY gpa DESC) t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...