Ваш первый выпуск см. Ниже.
Краткий ответ
Используйте это утверждение вместо:
Select Name, sum(Kills) from honscores group by Name order by Kills DESC
Длинный ответ
Вы не хотите группировать по количеству убийств, а только по имени и хотите агрегировать результат.
Если у вас есть эти данные:
AceFire6 2
AceFire6 2
AceFire6 1
AceFire6 3
Raknath 1
Raknath 1
и используя ваше утверждение, база данных сгруппирует все значения для AceFire6
, которые имеют значение kills
2
, все значения для AceFire6
, которые имеют значение kills
1
и т. Д. а затем выберите количество убийств.
Итак, в итоге вы получите такой результат:
AceFire6 3
AceFire6 2
AceFire6 1
Raknath 1
То, что вы хотите, это суммировать убийства, независимо от того, сколько человек выпало за - я предполагаю - игру.
По второму вопросу (количество строк) см. этот ответ на другой вопрос.
Edit:
Хорошо, что-то вроде этого должно работать (без гарантий, я не проверял утверждение):
SELECT @rn:=@rn+1 AS rank, Name, kills
FROM (
Select Name, sum(Kills) as kills from honscores group by Name order by Kills DESC
) t1, (SELECT @rn:=0) t2;
Happy FPS-ing ...:)