雪花台湾

Oracle-SQL-rownum 排序

 

TABLE資料為

NAME    IDNO    ADDR
王曉明  A1111   八德區
王大明  B1111   八德區
蔡小華  C1233   桃園區
林小志  A2231   中壢區
陳大中  T1396   八德區
蔡小傑  F1245   桃園區

select rownum,ADDR,NAME,IDNO from table order by ADDR;
會是以下狀況
rownum     ADDR    NAME    IDNO    
 2        八德區    王曉明  A1111   
 3        八德區    王大明  B1111
 1        八德區    陳大中  T1396     
 4        中壢區    林小志  A2231        
 6        桃園區    蔡小華  C1233   
 5        桃園區    蔡小傑  F1245   
 
這是因為 rownum 會在排序前先配置好的緣故,可改寫為如下

select rownum, A.* from (select ADDR,NAME,IDNO from table order by ADDR) A;
rownum序號即不會亂掉,也會照你要的欄位去排序

 

 

相关文章