SELECT winner, MAX(winningStreak) FROM (
SELECT
winner,
IF([email protected], @rownum:[email protected]+1, @rownum:=1) AS winningStreak,
@prev:=winner
FROM
yourTable
, (SELECT @prev:=NULL, @rownum:=1) vars
/*ORDER BY whateverDeterminesTheOrderOfTheWinners*/
)sq
GROUP BY winner
ORDER BY winningStreak DESC
Du skal bruge en anden kolonne, som bestemmer rækkefølgen af vinderne, ligesom du har angivet dem, og justere den udkommenterede del af forespørgslen. Bortset fra det virker denne forespørgsel, men det ville virkelig være nemmere at gøre i PHP.
Se det live her .