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

ROW_NUMBER() v MySQL

V MySQL není žádná funkce hodnocení. Nejblíže se můžete dostat pomocí proměnné:

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

jak by to tedy fungovalo v mém případě? Potřeboval bych dvě proměnné, jednu pro každou z col1 a col2? Col2 by potřeboval nějak resetovat, když se col1 změnil...?

Ano. Pokud by to byl Oracle, mohli byste použít funkci LEAD k dosažení vrcholu na další hodnotě. Naštěstí Quassnoi pokrývá logiku toho, co potřebujete implementovat v MySQL .



  1. Použití výstupních parametrů uložené procedury v C#

  2. Uložená procedura k odstranění duplicitních záznamů v tabulce SQL

  3. Jak použít existující sekvenci Oracle ke generování id v režimu spánku?

  4. použijte příkaz database_name v PostgreSQL