|
@@ -375,6 +375,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
|
|
|
connection = getConnection(PoolIdentifier.MISC);
|
|
|
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
|
|
|
String skillName = skillType.name().toLowerCase();
|
|
|
+ // Get count of all users with higher skill level than player
|
|
|
String sql = "SELECT COUNT(*) AS rank FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id WHERE " + skillName + " > 0 " +
|
|
|
"AND " + skillName + " > (SELECT " + skillName + " FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id " +
|
|
|
"WHERE user = ?)";
|
|
@@ -387,6 +388,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
|
|
|
|
|
|
int rank = resultSet.getInt("rank");
|
|
|
|
|
|
+ // Ties are settled by alphabetical order
|
|
|
sql = "SELECT user, " + skillName + " FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id WHERE " + skillName + " > 0 " +
|
|
|
"AND " + skillName + " = (SELECT " + skillName + " FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id " +
|
|
|
"WHERE user = '" + playerName + "') ORDER BY user";
|