In this Leetcode Rank Scores problem solution, we need to write a SQL query to rank scores. If there is a tie between two scores, both should have the same ranking. Note that after a tie, the next ranking number should be the next consecutive integer value. In other words, there should be no "holes" between ranks.

Leetcode Rank Scores problem solution


Problem solution in MYSQL.

select s1.Score, count(distinct s2.Score) as Rank from Scores s1, Scores s2
where s2.Score >= s1.Score
group by s1.Id
order by Rank
;



Problem solution in Oracle.

select score "Score",rankno "Rank"
from(
select score,dense_rank() over(order by score desc ) rankno
from scores);


Problem solution in MS SQL.

SELECT score,
DENSE_RANK() OVER (ORDER BY score DESC) AS Rank
FROM scores