sql >> Database >  >> RDS >> Mysql

ROW_NUMBER() in MySQL

Er is geen rangschikkingsfunctionaliteit in MySQL. Het dichtst in de buurt komt door een variabele te gebruiken:

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r

dus hoe zou dat in mijn geval werken? Ik heb twee variabelen nodig, één voor elk van col1 en col2? Col2 zou op de een of andere manier opnieuw moeten worden ingesteld als col1 veranderde..?

Ja. Als het Oracle was, zou u de LEAD-functie kunnen gebruiken om naar de volgende waarde te pieken. Gelukkig dekt Quassnoi de logica voor wat je nodig hebt implementeren in MySQL .



  1. UPDATE-instructie in Oracle met SQL of PL/SQL om ALLEEN de eerste dubbele rij bij te werken

  2. postgresql-installaties met één instantie

  3. SCHEMABINDING verwijderen uit een weergave in SQL Server

  4. Hoe de Oracle-functie of opgeslagen procedure aan te roepen met behulp van het Spring persistentie-framework?