Mysql
 sql >> Baza danych >  >> RDS >> Mysql

zapytanie mysql, aby znaleźć najdłuższy bieg w kolumnie

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

Potrzebujesz innej kolumny, która określa kolejność zwycięzców, takich jak ich wymieniłeś, i dostosuj odkomentowaną część zapytania. Poza tym to zapytanie działa, ale byłoby to naprawdę łatwiejsze w PHP.

Zobacz na żywo tutaj .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zastąpienie PATINDEX() w MYSQL

  2. błąd zmienianie tabeli, dodawanie klucza obcego ograniczenia uzyskiwanie błędu Nie można dodać lub zaktualizować wiersza podrzędnego

  3. Błąd składni SQL w pobliżu opisu

  4. Jak używać wyrażenia regularnego w MySQL?

  5. Sprawdzanie pól wyboru z wartości bazy danych