sql >> Databáze >  >> RDS >> Mysql

mysql dotaz k nalezení nejdelšího běhu ve sloupci

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

Potřebujete další sloupec, který určuje pořadí vítězů, jak jste je uvedli, a upravte část dotazu, která není označena komentářem. Kromě toho tento dotaz funguje, ale v PHP by to bylo opravdu jednodušší.

Podívejte se na živo zde .



  1. com.mysql.jdbc.PacketTooBigException

  2. Úvod k hromadnému shromažďování PL/SQL v databázi Oracle

  3. while smyčka a výstup spojení v mysql php

  4. Jaký je nejlepší způsob, jak uniknout neformátovým znakům v to_char společnosti Oracle?