私はすでに、すべてのユーザーのスコアとその他の統計を含むデータベースを持っています。しかし、スコアは、リーダーボードのランク付けに使用できるような方法で編成されていません.
テーブルが次のようになっている場合:
+----------+-------+-----+
| Username | Score | ... |
+----------+-------+-----+
| UserA | 900 | ... |
+----------+-------+-----+
| UserB | 200 | ... |
+----------+-------+-----+
| UserC | 850 | ... |
+----------+-------+-----+
| UserD | 450 | ... |
+----------+-------+-----+
データベース内の位置とスコアには関係ありません。ここで、私がやりたいことは、各ユーザーのスコアを収集するデータベースのクエリを作成し、スコアごとに並べ替えることです。これは ORDER BY score DESC のようなものになると思います。
それらを正しい方法で並べ替えた後、ユーザー名とランクのみを含むテーブルに新しい値を入力したいと考えています。これをゲーム内で照会して、要求された特定のプレイヤーのランクを知ることができます。
元:
+----------+------+
| Username | Rank |
+----------+------+
| UserA | 1 |
+----------+------+
| UserC | 2 |
+----------+------+
| UserD | 3 |
+----------+------+
| UserB | 4 |
+----------+------+
ここで、username=UserA のランクを照会すると、1 が返されます
それで、私の質問は何ですか?Javaで、データベースにスコアとユーザー名を照会し、スコアではなく数値ランクに基づいて値を新しいテーブルに再配置するにはどうすればよいですか。