Oracle分页总汇select * from
(select a.*,rownum row_num from
(select * from mytable t order by t.id desc) a
where rownum<=10
) b where b.row_num >= 1 order by u_age desc;    select * from (select a.*,rownum row_num from (select * from mytable t order by t.id desc) a) b where b.row_num between 1 and 10 .1.根据ROWID来分select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select rowid rid,cid from t_xiaoxi  order by cid desc) where rownum<10000) where rn>9980) order by cid desc;
执行时间0.03秒2.按分析函数来分select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t) where rk<10000 and rk>9980;
执行时间1.01秒3.按ROWNUM来分select * from(select t.*,rownum rn from(select * from t_xiaoxi order by cid desc) t where rownum<10000) where rn>9980;
执行时间0.1秒
其中t_xiaoxi为表名称,cid为表的关键字段,取按CID降序排序后的第9981-9999条记录,t_xiaoxi表有70000多条记录
个人感觉1的效率最好,3次之,2最差--1:无ORDER BY排序的写法。(效率最高)
--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (Select ROWNUM AS ROWNO, T.* from k_task T where Flight_date between to_date('20060501', 'yyyymmdd') and to_date('20060731', 'yyyymmdd') AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10; --2:有ORDER BY排序的写法。(效率最高)
--(经过测试,此方法随着查询范围的扩大,速度也会越来越慢哦!) SELECT * FROM (SELECT TT.*, ROWNUM AS ROWNO FROM (Select t.* from k_task T where flight_date between to_date('20060501', 'yyyymmdd') and to_date('20060531', 'yyyymmdd') ORDER BY FACT_UP_TIME, flight_no) TT WHERE ROWNUM <= 20) TABLE_ALIAS
where TABLE_ALIAS.rowno >= 10;--3:无ORDER BY排序的写法。(建议使用方法1代替)
--(此方法随着查询数据量的扩张,速度会越来越慢哦!)
--4:有ORDER BY排序的写法.(建议使用方法2代替)SELECT * FROM (Select ROWNUM AS ROWNO, T.* from k_task T where Flight_date between to_date('20060501', 'yyyymmdd') and to_date('20060731', 'yyyymmdd')) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO <= 20 AND TABLE_ALIAS.ROWNO >= 10;
--TABLE_ALIAS.ROWNO  between 10 and 100; --(此方法随着查询范围的扩大,速度会越来越慢哦!) SELECT * FROM (SELECT TT.*, ROWNUM AS ROWNO FROM (Select * from k_task T where flight_date between to_date('20060501', 'yyyymmdd') and to_date('20060531', 'yyyymmdd') ORDER BY FACT_UP_TIME, flight_no) TT) TABLE_ALIAS
where TABLE_ALIAS.rowno BETWEEN 10 AND 20; --5另类语法。(有ORDER BY写法)
--(语法风格与传统的SQL语法不同,不方便阅读与理解,为规范与统一标准,不推荐使用。) With partdata as( SELECT ROWNUM AS ROWNO, TT.*  FROM (Select * from k_task T where flight_date between to_date('20060501', 'yyyymmdd') and to_date('20060531', 'yyyymmdd') ORDER BY FACT_UP_TIME, flight_no) TT WHERE ROWNUM <= 20) Select * from partdata where rowno >= 10; --6另类语法 。(无ORDER BY写法) With partdata as( Select ROWNUM AS ROWNO, T.* From K_task T where Flight_date between to_date('20060501', 'yyyymmdd') and To_date('20060531', 'yyyymmdd') AND ROWNUM <= 20) Select * from partdata where Rowno >= 10;

  

转载于:https://www.cnblogs.com/myhappylife/p/4535298.html

Oracle分页总汇相关推荐

  1. ORACLE分页SQL

    ORACLE分页SQL 1,使用rownum SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ...

  2. oracle分页的方法,Oracle数据库分页的集中方法(三种方法)

    在 做项目中用到了分页,下面说一下oracle分页的方法; 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; ...

  3. Oracle分页查询语句(六)

    Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. Oracle分页查询语句(一):http://yangtingkun.itpub.net/post/468/100278 Oracl ...

  4. oracle 关联出现重复数据,ORACLE 分页查询出现重复记录的解决办法

    今天在用Oracle分页查询数据的时候出现了重复数据,有的数据无法查出,很郁闷,想了想,找了资料,发现问题 分页语句: select * from ( select row_.*, rownum ro ...

  5. 2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工

     ROWNUM的知识点 A ROWNUM按照oracle的默认机制生成. B rownum只能使用<=  <号,不能使用>  >= rownum的实现机制 rownum表示 ...

  6. oracle number类型_一文看懂Oracle分页实现方案的三种方式

    Oracle分页实现 闲来无事,整理下Oracle.mysql.mssql以及PG数据库的分页实现方式,大家可以简单做个对比,看下不同数据库在分页这块是怎么实现的.今天先介绍一下Oracle分页的实现 ...

  7. java sql分页_mysql、sqlserver、oracle分页,java分页统一接口实现

    定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量 oracle分页: select * from ( select mytable.*,rownum num from ...

  8. Oracle 分页与排序功能的4个查询语句

    查询内置的表emp 1. 查询前10条记录 SELECT * FROM emp WHERE ROWNUM <= 10; Oracle 分页和排序常用的4条查询语句之二,查询第11到第20条记录 ...

  9. ASP.NET调用Oracle分页存储过程并结合ASPnetpager分页控件 实现分页功能

    之前用的是GridView自带的分页功能,那速度啊慢的真实不行  ,决定自定义分页  Oracle库里有5W多条数据 AspnetPager做的还是不错,拿过来用 Oracle 分页存储过程: cre ...

  10. c oracle 分页工具类,Util工具类 跨Oracle、MySQL通用分页查询

    /**** 跨Oracle.MySQL通用分页查询*/public classPagingUtil { public static finalString MYSQL= "MYSQL&quo ...

最新文章

  1. cannot be registered to your development team. Change your bundle identifier to a unique string to t
  2. 算法----计算机程序设计之魂
  3. JVM 调优实战--常用命令参数及PS收集器的GC日志格式
  4. 基于QoE的实时视频编码优化:低功耗,低延时,高质量
  5. 上市开放式基金(LOF)
  6. JAVA复习(date)
  7. CMake 使用笔记
  8. php 怎么循环数组取有值的,php怎么循环数组取有值的-PHP问题
  9. PyTorch入门(一)--PyTorch基础
  10. 【2017】听懂你能看懂的句子
  11. SQL进阶:数据中间表,多表取身份证号-整理-匹配多表-合并整理
  12. Matlab仿真两种方法求圆周率π
  13. 【波束形成】MMSE波束形成,自适应MMSE波束形成以及自适应MBER波束形成
  14. eclipse代码补全、代码提示及防空格自动补全
  15. Java控制excel,word文档只读模式
  16. ★Kali信息收集~ 5.The Harvester:邮箱挖掘器
  17. 使用网络调试助手通过MQTT协议接入到华为云物联网平台
  18. 华为手机计算机怎么语音算术,只动口不动手!华为手机这个自带功能绝了,录音秒变文字!...
  19. 裁剪TIF图像,代码简单,易懂(Arcpy)
  20. Android设备获取mp3中的专辑封面信息

热门文章

  1. 改完计算机名自动重启 vbs,ghost后自动修改IP和计算机名的VBS脚本
  2. windows安装node.js和cnpm
  3. linux系统MongoDB4.0安装,密码设置,常用命令,集成springmvc
  4. Json文件转Map(三)之获取嵌套Map值
  5. 4.3定时器框架(Timer Framework)
  6. Struts2校验器(二)之注解
  7. 【渝粤教育】电大中专学前儿童健康教育 (7)作业 题库
  8. 【渝粤题库】陕西师范大学300009 考古学概论
  9. unity 动画 音频播放
  10. 【转】某女生编的c语言程序