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 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM