MySQL SELECT 增量计数器

2021-11-20 00:00:00 counter database select mysql

这是我的 MySQL 查询:

Here is my MySQL query:

SELECT name FROM table;

我怎样才能在 name 旁边选择一个增量计数器?预期输出:

How can I also select an increment counter alongside name? Expected output:

Jay 1
roy 2
ravi 3
ram 4

推荐答案

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

可以在不需要单独查询的情况下引入变量.所以第一个查询也可以分解成两个这样的查询:

makes it possible to introduce a variable without the need of a seperate query. So the first query could also be broken down into two queries like this:

set @rownum := 0;

select name,
      @rownum := @rownum + 1 as row_number
from your_table
order by name;

例如在存储过程中使用时.

for instance when used in a stored procedure.

相关文章