Ik denk dat de volgende query het gewenste resultaat zal opleveren. Eerst moet je de rangorde in een subquery berekenen. Ik denk dat het veel eenvoudiger is dan je aanpak, je hoeft alleen je resultaten te sorteren op overwinningen en diff in aflopende volgorde (ervan uitgaande dat de velden getallen zijn). Selecteer vervolgens alle resultaten en verander volgorde naar spelerbeschrijving.
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
Ik hoop dat ik niets mis.