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
Имате нужда от друга колона, която определя реда на победителите, както сте ги изброили, и коригира извънкомментираната част от заявката. Освен това тази заявка работи, но наистина би било по-лесно да се направи в PHP.
Вижте го на живо тук .