MySQL中如何为查询的数据添加自增序号、顺序呢?

背景介绍

很多时候我们在使用mysql查询数据的时候都会遇到一个问题,就是查询出来了一堆数据,但是查询的数据的表并没有序号,然而部分数据库显示工具是有外带序号显示,但是这种序号不是由sql产生的,而是工具的list容器生成的,那么这个时候应该怎么解决呢?

解决方案

写法一、

set @rownum = 0;
SELECT @rownum := @rownum +1 AS rownum ,s.account  FROM s_user s ORDER BY  s.reg_time DESC ;

方法1的写法就是声明了一个变量在外部,然后每行数据都为它自增。

写法二

SELECT
		account,
		(@i:=@i+1) AS rows
	FROM
		s_user,
		(SELECT @i := 0) AS it
	ORDER BY
		account DESC

写法二的和写法一实现的效果是一样的,只是sql有一点区别,其次在调用过程需要注意一个事项,就是在from 后面需要为变量归零重置((SELECT @i := 0) AS it),否则可能会出现累计效果。

转载于:https://www.cnblogs.com/david97/p/9413995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值