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 behöver en annan kolumn som bestämmer ordningen på vinnarna som du har listat dem och justera den utkommenterade delen av frågan. Bortsett från det fungerar den här frågan, men det skulle verkligen vara lättare att göra i PHP.
Se den live här .