在MySQL中查询数据或者导出Excel时,通常都需要给结果集中的每一行来添加一个序号,方便给查询出或者导出的数据进行排序并且方便查看和处理数据,常见的方法是通过定义用户变量,在MySQL中直接给查询结果集添加序号。
通过定义用户变量生成序号
在SQL语句中通过定义一个用户变量,然后每查询一行数据就将用户变量自增1并赋值给序号列,这种方法可以实现对查询结果集添加序号。
示例SQL语句:
SELECT (@orderNum := @orderNum +1) AS orderNum id, name, number, tel FROM tb_user, (SELECT @orderNum := 0) AS orderNum;
序号语句相关说明
●(@orderNum := @orderNum +1) 代表的意思是:变量 orderNum加 1 赋值给变量 orderNum,在定义好一个变量后每次查询都会给这个变量进行自增,每次执行查询语句获取结果后就不需要自增了。
●(SELECT @orderNum := 0) AS orderNum ,定义用户变量 orderNum,设置初始值为 0,然后将它作为派生表来使用,AS 给表定义了别名。