前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle查询第m到第n条数据

Oracle查询第m到第n条数据

作者头像
SuperHeroes
发布2019-03-12 14:38:17
1.3K0
发布2019-03-12 14:38:17
举报
文章被收录于专栏:云霄雨霁云霄雨霁

第一种方法:嵌套select

这种方法是最优方法,因为该方法进行排序后取值,所以能够保证两次取值都会取出相同的值。

最里面的那层select是提取满足要求的所有数据,然后第二层select用于选取前n条数据,最外面的select语句用于选取第m条之后的数据。

代码语言:javascript
复制
#Oracle从目标表中查询第m条到第n条的相应字段
select * from
    (select tt.*, rownum, rn from
        (select <想要查询的目标字段> 
         from 目标表
         where 筛选条件) tt
     where rownum < n)
where rn > m

第二种方法:使用minus

该方法的思想是找出前n条数据和前m条数据,然后对两个集合求取差集即可。因为SQL语句的执行顺序问题,order by总是最后执行,所以下方的SQL可以执行,但在任意一个select语句中添加order by会报错。

所以这种方法因为没有按照一定的标准排序后取值,所以有概率两次取值有稍微不同。

代码语言:javascript
复制
select <目标字段> from A where rownum < n
minus
select <目标字段> from A where rownum < m

第三种方法:使用not in

代码语言:javascript
复制
select * from
    (select 目标字段 from 目标表 where rownum < n) b
where b.id not in (select id from 目标表 where rownum < m)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/09/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一种方法:嵌套select
  • 第二种方法:使用minus
  • 第三种方法:使用not in
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档