Oracle中的TOP(order by 結合使用rownum)
例子很簡單 scott用戶下,對emp表的操作主要通過這個例子來更好的理解關于order by 結合使用rownum的情況
(可以理解為是通過對自己篩選的行按照要求進行排列)
例子如下:
select *
from(
select empno,job,mgr
from emp
order by mgr desc)a
--此a代表的視為內嵌視圖:inline view:并不是存儲在DB中的命名視圖
where rownum<=5;
EMPNO JOB MGR
---------- --------- ----------
7839 PRESIDENT
7370 CLERK 7902
7597 MANAGER 7839
7699 MANAGER 7839
7813 MANAGER 7839
select *
from(
select empno,job,mgr
from emp
order by mgr)
where rownum<=5;
EMPNO JOB MGR
---------- --------- ----------
7788 ANALYST 7566
7902 ANALYST 7566
7499 SALESMAN 7698
7521 SALESMAN 7698
7844 SALESMAN 7698
======================================================================
以下結果是先返回表的前5條記錄,然后按照order by mgr;進行默認的升序排列
======================================================================
select empno,job,mgr
from emp
where rownum<=5
order by mgr;
EMPNO JOB MGR
---------- --------- ----------
7499 SALESMAN 7698
7521 SALESMAN 7698
7654 SALESMAN 7698
7597 MANAGER 7839
7370 CLERK 7902
========================
原始數據:
select empno,job,mgr
from emp;
EMPNO JOB MGR
----- --------- ----------
7370 CLERK 7902
7499 SALESMAN 7698
7521 SALESMAN 7698
7597 MANAGER 7839
7654 SALESMAN 7698
7699 MANAGER 7839
7813 MANAGER 7839
7788 ANALYST 7566
7839 PRESIDENT
7844 SALESMAN 7698
7877 CLERK 7788
7900 CLERK 7698
7902 ANALYST 7566
7965 CLERK 7782
posted on 2008-06-18 15:15 球球 閱讀(1431) 評論(0) 編輯 收藏 所屬分類: Oracle