Oracle查询前几条数据的方法

Posted 緈諨の約錠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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

 

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

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

       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;

2. 使用rownum 虚列

select tname,tabtype from (                    

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

) where rn >= 100;

 

引用原文:http://www.cnblogs.com/yangxia-test/archive/2012/09/20/2695617.html

 

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

以上是关于Oracle查询前几条数据的方法的主要内容,如果未能解决你的问题,请参考以下文章

Oracle查询前几条数据的方法

oracle数据库查询前几条数据

oracle取前几条数据语句

Oracle 某字段值相同的取前几条数据

Oracle 查询前10%的数据

怎么查询oracle中最后几条的数据?