1.在ORACLE中實(shí)現(xiàn)SELECT TOP N
由于ORACLE不支持SELECT TOP語(yǔ)句,所以在ORACLE中經(jīng)常是用ORDER BY跟ROWNUM的組合來(lái)實(shí)現(xiàn)SELECT TOP N的查詢。
簡(jiǎn)單地說(shuō),實(shí)現(xiàn)方法如下所示:
SELECT 列名1...列名n FROM
(SELECT 列名1...列名n FROM表名ORDER BY列名1...列名n)
WHERE ROWNUM <= N(抽出記錄數(shù))
ORDER BY ROWNUM ASC
下面舉個(gè)例子簡(jiǎn)單說(shuō)明一下。
顧客表customer(id,name)有如下數(shù)據(jù):
ID NAME
01 first
02 Second
03 third
04 forth
05 fifth
06 sixth
07 seventh
08 eighth
09 ninth
10 tenth
11 last
則按NAME的字母順抽出前三個(gè)顧客的SQL語(yǔ)句如下所示:
SELECT * FROM
(SELECT * FROM CUSTOMER ORDER BY NAME)
WHERE ROWNUM <= 3
ORDER BY ROWNUM ASC
輸出結(jié)果為:
ID NAME
08 eighth
05 fifth
01 first