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

这篇具有很好参考价值的文章主要介绍了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;
区别:写法1多次执行,id会自动增加,
          写法2多次执行,id不会增加

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

MySQL 对查询的结果集添加自增序号,两种写法_mysql 查询序号自增长_小哇666的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-621656.html

到了这里,关于MySQL 对查询的结果集添加自增序号,两种写法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 常用的两种 MySQL 查询时间段的方法

    在 MySQL 数据库中,经常需要查询某个时间段内的数据。本文将介绍两种常用的 MySQL 查询时间段的方法,并提供相应的源代码示例。 方法一:使用 BETWEEN 运算符 BETWEEN 运算符可用于查询一个范围内的值,包括指定的起始值和结束值。在查询时间段时,我们可以将起始时间作为

    2024年02月05日
    浏览(36)
  • mysql查询结果命令行方式导出/输出/写入到文件的三种方法

    直接执行命令: 在目录/tmp/下会产生文件test.xls 遇到的问题: 可能原因:mysql没有向/data/下写的权限 查询都自动写入文件: 跳出mysql命令行

    2024年02月11日
    浏览(33)
  • Mysql树形表的两种查询方案(递归与自连接)

    你有没有遇到过这样一种情况: 一张表就实现了一对多的关系,并且表中每一行数据都存在“爷爷-父亲-儿子-…”的联系,这也就是所谓的树形结构 对于这样的表很显然想要通过查询来实现价值绝对是不能只靠select * from table 来实现的,下面提供两种解决方案: inner join 关键

    2024年01月16日
    浏览(39)
  • mysql中desc的两种用法---1、查询表结构和降序

    1、查询表结构 语法: desc table_name; PS:此处desc是describe的缩写,用法: desc 表名/查询语句 2、降序 语法: select * from 表 order by 字段 desc select ename,sal from emp order by sal desc; 手动指定按照薪水由大到小排序(降序desc) select ename,sal from emp order by sal asc; 手动指定按照薪水

    2024年02月13日
    浏览(41)
  • 前端实现表格生成序号001、002、003自增

    我们最终想要实现的效果如图,从后端获取数据之后,不使用data中的id,而是使用自己生成的按照顺序自增的序号id。 script 简单解释一下这段代码,大致思路就是接受到后端传来的数据后,不调用id。而是自定义序号 先看这段代码 具体来说: index:是一个数字,表示当前元

    2024年01月17日
    浏览(27)
  • canaladapter 同步mysql(一对多关系)到es,es 添加逗号分词查询

    mysql 一对多关系同步到es,刚好es需要的是一个字段对应逗号分割的值。这样就解决了mysql多表关联查询很慢的弊端。但是es中给如何把逗号分割的字符串做为查询条件呢,答案如下:先看一个简单的例子:   以上就是逗号分割的字段如何在es中检索出来。 项目中实战:通过ca

    2024年02月16日
    浏览(28)
  • mysql修改自增字段自增起始值

    需要修改自增字段的起始值,以使其后续插入的主键id从自定义的值开始自增。 先后使用了三种方法,前两种均告失败,第三种成功。 1、直接在navicat里进行设置,结果可以保存但保存无效。 本方法失败 2、使用 SQL 语句进行修改,SQL 执行结果返回操作成功,但观察后发现自

    2024年02月12日
    浏览(36)
  • mysql 8.0 窗口函数 之 序号函数 与 sql server 序号函数 一样

    sql server 序号函数 序号函数 ROW_NUMBER() 顺序排序 RANK() 并列排序,会跳过重复的序号,比如序号为1,1,3 DENSE_RANK() 并列排序,不会跳过重复的序号,比如 序号为 1,1,2 语法结构 窗口函数的优点 使用窗口函数,只用了一步就完成了查询,而且,由于没有用到临时表,执行的

    2024年02月11日
    浏览(32)
  • MySQL 自增 ID 默认从 1 开始,如何设置自增 ID 从 0 开始

        MySQL 是一种关系型数据库,它是世界上最流行的关系型数据库之一。在 MySQL 中,自增是一种非常有用的功能,它可以自动给主键赋值,并保证每个主键是唯一的。然而,许多人不知道的是,MySQL 默认情况下从 1 开始自增,这并不总是适合所有情况。     在 MySQL 中,我们

    2024年02月11日
    浏览(34)
  • mysql表主键自增过大问题

    问题及项目环境   问题 最近在做项目时,发现我创建的每一个表的主键设置自增,在插入数据数据时会出现 自增值过大的问题。 问题展示: 在后端执行Basemapper中的insert()方法时,数据库中的主键id字段为下: 且我在对应的实体类的设置为下:  我们的期望时看到Id = 1,而不是

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包