MySQL-记录集中的行数?

MySQL-记录集中的行数?,mysql,Mysql,首先,我不是问在结果返回给您之后如何获取当前的行号 我想知道,是否可以将行号作为MySQL结果中返回的列之一?我想做的是给每一行增加一个数字。像这样: | id | myNum | name | +----+-------+------+ | 34 | 1 | John | | 24 | 2 | Alex | | 56 | 3 | Brad | etc... 我猜这可能会涉及存储过程,但我想知道如果没有它们是否可能…啊,太棒了!你不需要提前声明变量或者类似的事情吗?@J

首先,我不是问在结果返回给您之后如何获取当前的行号

我想知道,是否可以将行号作为MySQL结果中返回的列之一?我想做的是给每一行增加一个数字。像这样:

| id | myNum | name |
+----+-------+------+
| 34 |     1 | John |
| 24 |     2 | Alex |
| 56 |     3 | Brad |
etc...

我猜这可能会涉及存储过程,但我想知道如果没有它们是否可能…

啊,太棒了!你不需要提前声明变量或者类似的事情吗?@Jakobud:不,没有必要。您可以在同一查询中初始化它。;)你是说
选择@n:=@n+1作为mynum
而不是
选择@n:=@n+1 mynum
而不选择
作为
?如果没有,为什么要这样做?@smhnaji:AS是可选的,当指定从
中选择什么或从
中选择什么表时:
从表t
中选择t.num编号是有效的查询。
select table.*,@rn:=@rn+1 as row_num
from table,(select @rn:=0) as r order by field_you_like
select @n := @n + 1 mynum, t.*
from (select @n:=0) initvars, tbl t