プレーヤーudid1
のランクをデータベースに照会する方法は次のとおりです。 :
SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)
スコアが高いほど良いと思います。各プレーヤーの最高スコアのみを保存します。
score
にインデックスを付ける およびudid
、これはかなりスピーディーなはずです。
クエリは、選択したユーザーよりもスコアが高いユーザーの数をカウントします。
スコアが低い方が良い場合は、次のように変更してください:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)
これは、スコアが低いプレーヤーの数をカウントします。
MySQLインデックス についてすべて読む 。