select name,
@rownum := @rownum + 1 as row_number
from your_table
cross join (select @rownum := 0) r
order by name
Denne del:
cross join (select @rownum := 0) r
gør det muligt at indføre en variabel uden behov for en separat forespørgsel. Så den første forespørgsel kunne også opdeles i to forespørgsler som denne:
set @rownum := 0;
select name,
@rownum := @rownum + 1 as row_number
from your_table
order by name;
f.eks. når det bruges i en lagret procedure.