Мисля, че следната заявка ще даде желания резултат. Първо трябва да изчислите ранга в подзаявка. Мисля, че е много по-прост от вашия подход, просто трябва да сортирате резултатите си по победи и разлика в низходящ ред (да предположим, че полетата са числа). След това просто избирате всички резултати и променяте поръчайте на плейъра.
SELECT player, wins, diff,rank from
(
SELECT player, wins, diff, @winrank := @winrank + 1 AS rank
from tmpPoradi,(SELECT @winrank := 0) r
ORDER BY wins DESC,diff DESC
) rt
ORDER BY player
Надявам се, че не пропускам нищо.