MySQL - Cómo hacer un RANGO de Oracle () EN ADELANTE (ORDENAR POR puntaje DESC)

Estoy familiarizado con Oracle y normalmente haría un rango RANK () (ORDER BY score DESC) AS para obtener un rango como este:

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

No tengo la mejor idea de cómo hacer esto en MySQL; después de mirar aquí, he encontrado esto:

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 ...

pero esto lo devuelve como:

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

Lo cual no es exactamente lo que quería.

Respuestas a la pregunta(2)

Su respuesta a la pregunta