在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,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