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

mysql-forespørgsel for at finde den længste kørsel i en kolonne

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 skal bruge en anden kolonne, som bestemmer rækkefølgen af ​​vinderne, ligesom du har angivet dem, og justere den udkommenterede del af forespørgslen. Bortset fra det virker denne forespørgsel, men det ville virkelig være nemmere at gøre i PHP.

Se det live her .



  1. SQL INSERT INTO-sætning

  2. mysql brugerdefineret sortering

  3. Hvordan formaterer man dato fra tidsstempel i PHP?

  4. Bogen "PostgreSQL 9.0 High Performance" er ude