以下的文章主要介绍的是如何在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*FROMCUSTOMERORDERBYNAME) WHEREROWNUM<=3 ORDERBYROWNUMASC
输出结果为:
IDNAME 08eighth 05fifth 01first
相关文章
标签:Oracle