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
Bạn cần một cột khác xác định thứ tự của những người chiến thắng giống như bạn đã liệt kê họ và điều chỉnh phần được chú thích của truy vấn. Ngoài ra, truy vấn này hoạt động, nhưng nó thực sự sẽ dễ dàng hơn được thực hiện trong PHP.
Xem trực tiếp tại đây .