风止雨歇

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 

 

posted on 2017-03-01 23:01  风止雨歇  阅读(3854)  评论(0编辑  收藏  举报

导航