スコアランキング


スコアランキングを実現するためにSQLクエリーを作成します.2つのスコアが同じ場合、2つのスコアランキング(Rank)は同じです.平分後の次の順位は次の連続する整数値であることに注意してください.言い換えれば、順位の間に「間隔」があるべきではない.
Id
Score
1
3.50
2
3.65
3
4.00
4
3.85
5
4.00
6
3.65
たとえば、上記のScoresテーブルに基づいて、クエリーを返します(スコアが高いものから低いものまで):
Score
Rank
4.00
1
4.00
1
3.85
2
3.65
3
3.65
3
3.50
4
サブクエリランキング
 (select count(DISTINCT score)  from Scores where score>=s.score) as Rank

ポイントは順位のクエリーで、自分と自分で点数を比較することによって、1つの点数を選択して、彼より高い点数が何個あるかを統計して、そして成績の降順に完全なsqlを並べ替えます
select  Score  , 
(select count(DISTINCT score)  from Scores where score>=s.score) as Rank
from Scores s order by Score desc