標籤:
分頁語句:
select z.* from(select x.*,rownum members from reg_user x where rownum<=10) z where z.members>0
1 擷取總頁數
Sql代碼 01.SELECT DECODE(mod(COUNT(*),100),0,COUNT(*)/100,TRUNC(COUNT(*)/100,0)+1) 02.AS pages FROM XZQH 其中XZQH是表名,可以換成別的表格或者與別的表格相連或者加上查詢條件....總之可以把XZQH換成FROM後的一切東西.
100是每頁顯示的記錄數,換成你想要的!!!
產生結果是具有pages列的一個表格.可以用resultSet.getInt("pages")獲得
2 擷取特定的記錄資料
Sql代碼 1.SELECT x.* from ( 2. SELECT z.*,rownum numbers from( 3. select * from XZQH where XXX order by XXX) z 4. where rownum<101) x 5.where x.numbers>90
或者: Sql代碼 1.SELECT x.* from (SELECT z.*,rownum numbers from XZQH z where rownum<101) x 2. where x.numbers>90
其中XZQH的含義與上述一樣,可以換成你任何想要的條件和表串連 其中101和90是指定界限的數字,拿此例來說,是取出第90-----100條資料.
也可以直接用分析函數
Sql代碼 01.SELECT X.* 02.FROM ( 03. SELECT 04. ROW_NUMBER() OVER(order by XXX) AS numbers 05. , XZQH.* 06. FROM XZQH 07. WHERE XXX 08.) X 09.WHERE X.numbers < 101 10. AND X.numbers > 90 11.
不用分析函數你這個到1萬條以後翻頁很慢,用分析函數最後一頁很慢。用哪種方式要看系統需求了,如果大多數情況下只是瀏覽前面的資料,就加hint first_row
oracle分頁語句