1. 程式人生 > >Oracle查詢結果自動生成序號

Oracle查詢結果自動生成序號

一般情況下,可以如下: 
select rownum, a from A;  

但是當後面有多表關聯,order by排序的時候, 

select rownum, a from A,B where A.a=B.b order by A.a;

rownum就可能會亂了。 

這時候,可以利用分析函式rank()來實現: 
select rank() over(order by t.b) rowno, t.a, t.c from test t order by t.b;  

這樣就既可以排序,又可以自動加上連續的序號了。


參考資料:
http://yuaoi.iteye.com/blog/767889
http://www.cnblogs.com/mycoding/archive/2010/05/29/1747065.html