Oracle查询前几条数据的方法
2012-09-20 17:52
267 查看
在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;
由于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;
相关文章推荐
- Oracle查询前几条数据的方法
- Oracle查询前几条数据的方法
- Oracle查询前几条数据的方法
- ORACLE用户常用数据字典的查询使用方法
- ORACLE 查询多行转单行数据,并且用逗号分隔展示方法
- Oracle锁表数据查询及解决方法
- oracle中在同一个表中分类查询不同类型的前几条数据
- Oracle中查询不出数据,为什么在程序中还能显示数据解决方法
- Oracle查询重复数据与删除重复记录方法
- 解析Oracle数据扫描 Oracle SQL查询优化 引导局部范围数据扫描的方法(7)
- oracle查询重复数据与删除重复记录方法
- oracle查询重复数据与删除重复记录方法
- 【转贴】Oracle查询重复数据与删除重复记录方法
- Oracle查询表里的重复数据方法:
- 解析Oracle数据扫描 Oracle SQL查询优化 引导局部范围数据扫描的方法(3)
- Oracle查询重复数据与删除重复记录方法
- Oracle查询重复数据与删除重复记录方法
- 各种数据库查询前几条数据的方法
- oracle中排序后查询前几条数据
- ORACLE用户常用数据字典的查询方法