select name,
@rownum := @rownum + 1 as row_number
from your_table
cross join (select @rownum := 0) r
order by name
Bagian ini:
cross join (select @rownum := 0) r
memungkinkan untuk memperkenalkan variabel tanpa perlu kueri terpisah. Jadi kueri pertama juga bisa dipecah menjadi dua kueri seperti ini:
set @rownum := 0;
select name,
@rownum := @rownum + 1 as row_number
from your_table
order by name;
misalnya ketika digunakan dalam prosedur tersimpan.