Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

consulta mysql para encontrar a execução mais longa em uma coluna

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

Você precisa de outra coluna que determine a ordem dos vencedores como você os listou e ajuste a parte comentada da consulta. Além disso, essa consulta funciona, mas seria realmente mais fácil fazer em PHP.

Veja ao vivo aqui .