MySQL - Как сделать Oracle RANK () OVER (ORDER BY оценка DESC)

Я знаком с Oracle и обычно делаю RANK () (ORDER BY Score DESC) AS, чтобы получить ранг, подобный этому:

 Score | Rank
--------------
   100 |    1
   100 |    1
    99 |    3
    98 |    4
    98 |    4
    98 |    4
    97 |    7

Я не знаю, как это сделать в MySQL - посмотрев здесь, я нашел это:

SET @prev_value = NULL;
SET @rank_count = 0;
SELECT score
     , CASE
       WHEN @prev_value = score 
          THEN @rank_count
       WHEN @prev_value := score 
          THEN @rank_count := @rank_count + 1
       END AS rank
  FROM ...

но это возвращает это как:

 Score | Rank
--------------
   100 |    1
   100 |    1
    99 |    2
    98 |    3
    98 |    4
    98 |    4
    97 |    5

Что не совсем то, что я хотел.

Ответы на вопрос(2)

Ваш ответ на вопрос