select name, @rownum := @rownum + 1 as row_numberfrom your_tablecross join (select @rownum := 0) rorder by name
这部分:
cross join (select @rownum := 0) r
使得可以引入变量而无需单独的查询。因此,第一个查询也可以分为以下两个查询:
set @rownum := 0;select name, @rownum := @rownum + 1 as row_numberfrom your_tableorder by name;
例如在存储过程中使用时。



