程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 給結果集分頁,集分頁

給結果集分頁,集分頁

編輯:Oracle教程

給結果集分頁,集分頁


為了便於查詢網頁中的數據,常常要分頁顯示。如:要求員工表按工資排序後一次只顯示5行數據,下次再顯示接下來的5行,以下以第二頁數據(6到10行)為例進行分頁。

SQL代碼如下:

SELECT rn, ename, sal
  FROM (SELECT ROWNUM AS rn, ename, sal
          FROM (SELECT ename, sal FROM emp WHERE sal IS NOT NULL ORDER BY sal)
         WHERE ROWNUM <= 10)
 WHERE rn >= 6;

以上的SQL需要嵌套兩次,你也可以先用row_number()生成序號,再過濾,這樣就只需要嵌套一次。

SELECT rn, ename, sal
  FROM (SELECT ROW_NUMBER() OVER(ORDER BY sal) AS rn, ename, sal
          FROM emp
         WHERE sal IS NOT NULL)
 WHERE rn BETWEEN 6 AND 10;

這個語句比較簡單,但因為分頁語句的特殊性,在調用PLAN時可能會受到分析函數的影響,有些索引或PLAN(如:first_rows)不能用。所以建議使用第一種分頁方式,把第一種分頁方式當作模版,然後套用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved