Получить список пользователей ранжировать, используя максимальный балл - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь составить таблицу лидеров и использовать следующий запрос:

SELECT d.*, 
       c.ranks 
FROM   (SELECT Max(correct_answer) AS correct_answer, 
               @rank := @rank + 1  Ranks 
        FROM   (SELECT Max(correct_answer) AS correct_answer 
                FROM   quiz_statuses 
                GROUP  BY user_id, 
                          level_no 
                ORDER  BY correct_answer DESC) t, 
               (SELECT @rank := 0) r) c 
       INNER JOIN quiz_statuses d 
               ON c.correct_answer = d.correct_answer 

Моя таблица выглядит следующим образом:

id,user_id,level_no,correct_answer
1    1        1       5
2    1        1      10
3    2        1      36

Ожидаемый результат должен быть следующим:

id,user_id,level_no,correct_answer,ranks
3    2        1      36             1
2    1        1      10             2  

Но мой запрос не дает желаемого результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...