select name,
@rownum := @rownum + 1 as row_number
from your_table
cross join (select @rownum := 0) r
order by name
この部分:
cross join (select @rownum := 0) r
個別のクエリを必要とせずに変数を導入することが可能になります。したがって、最初のクエリは、次のように2つのクエリに分割することもできます。
set @rownum := 0;
select name,
@rownum := @rownum + 1 as row_number
from your_table
order by name;
たとえば、ストアドプロシージャで使用する場合。