Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Mysql查询或导出结果添加序号字段

Mysql查询或导出结果添加序号字段实现方法

作者:不会理财的程序员不是好摄影师

这篇文章主要介绍了Mysql查询或导出结果添加序号字段实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Mysql查询或导出结果添加序号字段

在MySQL中查询数据或者导出Excel时,通常都需要给结果集中的每一行来添加一个序号,方便给查询出或者导出的数据进行排序并且方便查看和处理数据

常见的方法是通过定义用户变量,在MySQL中直接给查询结果集添加序号

通过定义用户变量生成序号

在SQL语句中通过定义一个用户变量,然后每查询一行数据就将用户变量自增1并赋值给序号列,这种方法可以实现对查询结果集添加序号。

示例SQL语句:

SELECT  (@orderNum := @orderNum +1) AS orderNum  id, name, number, tel FROM tb_user, (SELECT @orderNum := 0) AS orderNum;

序号语句相关说明

Mysql对查询的结果集添加自增序号,两种写法

在MySQL中,当我们所要查询的结果集没有ID字段时,为方便前台展示等业务需求,需要添加一个自增的序号字段(ID)。

语法如下:

SELECT (@i:=@i+1) 别名1,表字段信息  FROM 表名, (SELECT @i:=0) AS 别名2

代码示例,同时结合分页使用

写法1

SET @i:=0;
SELECT (@i:=@i+1) AS RowNum, A.* FROM t_prize_log A ORDER BY A.ese_id DESC LIMIT 0, 10; 

写法2

SELECT (@i:=@i+1) AS RowNum, A.* FROM t_prize_log A,(SELECT @i:=0) B ORDER BY A.ese_id DESC LIMIT 0, 10;

区别:

补充:

如果是在MyBatis中使用上述查询时,变量i的的初始值0,可以使用传参的方式(¥{})进行设置。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文