Mysql
 sql >> Database >  >> RDS >> Mysql

query mysql per trovare la corsa più lunga in una colonna

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

Hai bisogno di un'altra colonna che determini l'ordine dei vincitori come li hai elencati e regoli la parte commentata della query. A parte questo, questa query funziona, ma sarebbe davvero più facile eseguirla in PHP.

Guardalo dal vivo qui .