不少时候咱们在使用mysql查询数据的时候都会遇到一个问题,就是查询出来了一堆数据,可是查询的数据的表并无序号,然而部分数据库显示工具是有外带序号显示,可是这种序号不是由sql产生的,而是工具的list容器生成的,那么这个时候应该怎么解决呢?mysql
写法1、sql
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),不然可能会出现累计效果。blog