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.