Как лучше всего генерировать ранги в MYSQL?

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

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

dba.stackexchange.com/questions/13703/…
Ciro Santilli新疆棉花TRUMP BAN BAD 07.10.2015 08:15

Возможный дубликат MySQL - получить номер строки при выборе

Ciro Santilli新疆棉花TRUMP BAN BAD 07.10.2015 08:31
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
6
2
3 237
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это вернет рейтинг как rownum.

SELECT @rownum := @rownum + 1 rownum, 
       t.* 
  FROM (SELECT @rownum:=0) r, 
       (SELECT * FROM students ORDER BY gpa DESC) t;

Ваш ответ выглядит намного сложнее, чем ответ Уильяма. Какая разница?

Rob Kennedy 10.01.2009 20:57

Это одно заявление. У Уильяма - два разных утверждения. Вот почему все сложнее.

Vinko Vrsalovic 10.01.2009 21:39

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

set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, student_id, gpa 
    FROM `students` ORDER BY gpa DESC

Другие вопросы по теме