MySql数据库 sql查询增加序号的伪列

在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,1,2,3,……n

例如:我们根据表的某个字段排序后,要对这些数据加上序列,这个时候序号常常不是我们建表时设置好的自增的主键id,怎么办呢????

数据表account的数据结构如下:

id money name

------ ------ ----------

3 8000 wangwu

4 2000 huhu

5 9000 xiaoming

6 9000 pudong

7 10000 panghu

15 11000 lisi

70 10000 zhangsan

2000 5555 wangming

使用如下的SQL语句来解决:

SELECT (@rowNO := @rowNo+1), NAME, money

FROM ( SELECTname,money FROM account ORDER BY id )name, (SELECT @rowNO :=0) money;

查询的结果如下:

(@rowNO := @rowNo+1) name money

----------------------------- -------- --------

1 wangwu 8000

2 huhu 2000

3 xiaoming 9000

4 pudong 9000

5 panghu 10000

6 lisi 11000

7 zhangsan 10000

8 wangming 5555