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