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 



你可能感兴趣的:(数据库)