我已经有一个包含每个用户的分数和其他统计数据的数据库。但分数没有以任何方式组织,使其可用于制作排行榜排名。
如果表格看起来像这样:
+----------+-------+-----+
| Username | Score | ... |
+----------+-------+-----+
| UserA | 900 | ... |
+----------+-------+-----+
| UserB | 200 | ... |
+----------+-------+-----+
| UserC | 850 | ... |
+----------+-------+-----+
| UserD | 450 | ... |
+----------+-------+-----+
数据库中的位置和分数没有关系。现在,我要做的是创建一个数据库查询,收集每个用户的分数,然后按分数重新排列它们。我认为这类似于 ORDER BY score DESC。
在以正确的方式对它们进行排序后,我想将新值输入到一个只有用户名和排名的表中,我可以在游戏中查询该表以告知所请求的任何给定玩家的排名。
前任:
+----------+------+
| Username | Rank |
+----------+------+
| UserA | 1 |
+----------+------+
| UserC | 2 |
+----------+------+
| UserD | 3 |
+----------+------+
| UserB | 4 |
+----------+------+
现在,如果我查询用户名 = UserA 的排名,我会得到 1
那么我的问题是什么?我如何在 java 中查询数据库的分数和用户名,然后根据数字排名而不是分数将值重新排列到一个新表中。