Oracle查询前几条数据的方法

在Oracle中实现select top N:
因为Oracle不支持select top 语句,因此在Oracle中常常是用order by 跟rownum
的组合来实现select top n的查询。
简单地说,实现方法以下所示:
select 列名1 ...列名n from
(
select 列名1 ...列名n 
   from 表名 order by 列名1
)
where rownum <=N(抽出记录数)
order by rownum asc函数

如:select id,name from (select id,name from student order by name) where rownum<=10 order by rownum asc排序

按姓名排序取出前十条数据it

 

附:取100-150条数据的方法io

1. 最佳选择:利用分析函数select

       row_number() over ( partition by col1 order by col2 )                               方法

好比想取出100-150条记录,按照tname排序
     select tname,tabtype from (                               数据

     select tname,tabtype,row_number() over ( order by tname ) rn from tab                查询

) where rn between 100 and 150;top

2. 使用rownum 虚列tab

select tname,tabtype from (                    

      select tname,tabtype,rownum rn from tab where rownum <= 150                  

) where rn >= 100;

相关文章
相关标签/搜索