У меня была проблема с оценкой рейтинга в leetcode, и я не уверен, что решение ниже. Я могу понять каждую часть, кроме @x := @x +1
и @x := 0
.
select scores.score, ranks.rank from scores left join (
select score, @x := @x +1 as rank from (select distinct score from scores order by score desc) s, (select @x := 0) r
)
as ranks on scores.score = ranks.score order by scores.score desc;
Кто-нибудь может помочь, пожалуйста?