ORACLE查询前五条数据

ORACLE不支持TOP N

select * from (select * from T_WEIXIN_HOMEWORK order by SUBSTR(HOMETITLE,0,10) desc ) where rownum<=5 order by rownum

 

我们今天主要和大家讨论的是Oracle实现 SELECT TOP N的实际操作方法,下面就是对其具体操作方案的介绍,望你会有所收获。

AD:2014WOT全球软件技术峰会北京站 课程视频发布

 

以下的文章主要介绍的是如何在Oracle实现 SELECT TOP N的实际操作方法,我们主要是以举例子的方式来引出Oracle实现 SELECT TOP N的具体操作,以下就文章的具体内容的描述,望你会有所收获。

1.在Oracle实现SELECT TOP N

由于Oracle不支持SELECT TOP语句,所以在Oracle中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。

简单地说,Oracle实现SELECT TOP N的方法如下所示:

SELECT 列名1...列名n FROM

(SELECT 列名1...列名n FROM 表名 ORDER BY 列名1...列名n)

WHERE ROWNUM <= N(抽出记录数)

 

  1. 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

则按NAME的字母顺抽出前三个顾客的SQL语句如下所示:

 

  1. SELECT * FROM  
  2. (SELECT * FROM CUSTOMER ORDER BY NAME)  
  3. WHERE ROWNUM <= 3  
  4. ORDER BY ROWNUM ASC  

 

输出结果为:

ID NAME

08 eighth

05 fifth

01 first

上述的相关内容就是对在Oracle实现SELECT TOP N的方法的描述,希望会给你带来一些帮助在此方面。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。