select name,
@rownum := @rownum + 1 as row_number
from your_table
cross join (select @rownum := 0) r
order by name
Dit deel:
cross join (select @rownum := 0) r
maakt het mogelijk om een variabele in te voeren zonder dat een aparte query nodig is. De eerste zoekopdracht kan dus ook als volgt worden onderverdeeld in twee zoekopdrachten:
set @rownum := 0;
select name,
@rownum := @rownum + 1 as row_number
from your_table
order by name;
bijvoorbeeld bij gebruik in een opgeslagen procedure.