Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL SELECT-Inkrementzähler

select name,
      @rownum := @rownum + 1 as row_number
from your_table
cross join (select @rownum := 0) r
order by name

Dieser Teil:

cross join (select @rownum := 0) r

ermöglicht es, eine Variable einzuführen, ohne dass eine separate Abfrage erforderlich ist. Die erste Abfrage könnte also auch wie folgt in zwei Abfragen aufgeteilt werden:

set @rownum := 0;

select name,
      @rownum := @rownum + 1 as row_number
from your_table
order by name;

zum Beispiel bei Verwendung in einer gespeicherten Prozedur.