以下的文章主要介紹的是如何在Oracle實現SELECT TOP N的實際操作方法,我前兩天在相關網站看見在Oracle實現SELECT TOP N的實際操作的相關資料,覺得挺好,就拿出來供大家分享。
1.在Oracle實現SELECT TOP N
由於Oracle不支持SELECT TOP語句,所以在Oracle中經常是用ORDER BY跟ROWNUM的組合來Oracle實現SELECT TOP N的查詢。
簡單地說,實現方法如下所示:
SELECT 列名1...列名n FROM
(SELECT 列名1...列名n FROM 表名 ORDER BY 列名1...列名n)
WHERE ROWNUM <= N(抽出記錄數)
ORDER BY ROWNUM ASC
下面舉個例子簡單說明一下。
顧客表customer(id,name)有如下數據:
ID NAME
01 first
02 Second
03 third
04 forth
05 fifth
06 sixth
07 seventh
08 eighth
09 ninth
10 tenth
11 last
Oracle實現SELECT TOP N中我們需要按NAME的字母順抽出前三個顧客的SQL語句如下所示:
- SELECT * FROM
- (SELECT * FROM CUSTOMER ORDER BY NAME)
- WHERE ROWNUM <= 3
- ORDER BY ROWNUM ASC
輸出結果為:
- ID NAME
- 08 eighth
- 05 fifth
- 01 first