2016-08-16 Oracle分页功能实现
来源:互联网 发布:汉字域名 编辑:程序博客网 时间:2024/04/29 17:03
每天积累一点点,感觉自己又进步了
--1:无ORDER BY排序的写法。(效率最高)
--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)
SELECT *
FROM (SELECT ROWNUM AS rowno, t.*
FROM emp t
WHERE hire_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 emp t
WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
ORDER BY create_time DESC, emp_no) tt
WHERE ROWNUM <= 20) table_alias
WHERE table_alias.rowno >= 10;
--3:无ORDER BY排序的写法。(建议使用方法1代替)
--(此方法随着查询数据量的扩张,速度会越来越慢哦!)
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;
--4:有ORDER BY排序的写法.(建议使用方法2代替)
--(此方法随着查询范围的扩大,速度会越来越慢哦!)
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;
- 2016-08-16 Oracle分页功能实现
- Oracle 实现分页查询功能
- oracle实现分页与mysql实现分页功能
- C#实现 ORACLE的分页功能
- Aspnetpager+GridView+oracle实现分页功能
- aspnetpager+repeater+oracle实现分页功能
- 基于oracle的分页功能(jdbc实现)
- flex+oracle分页功能
- ASP.NET调用Oracle分页存储过程并结合ASPnetpager分页控件 实现分页功能
- jsp连接oracle实现分页功能的源代码
- ORACLE三层嵌套实现分页功能和ROWNUM的使用
- oracle中使用触发器实现查询分页功能
- Oracle利用数据伪列实现分页功能
- 实现分页打印功能:
- php 实现分页功能
- 分页功能的实现
- PHP_实现分页功能
- PHP_实现分页功能
- Jmeter那点事·ForEach和If控制器
- UVA-340
- 继承HibernateDaoSupport引发的错误总结,spring对hibernate的集成
- windows-docker介绍
- 智能停车诱导系统--大数据部分--HBase数据导入(一)
- 2016-08-16 Oracle分页功能实现
- cocos 2D js 环境搭建
- python 元组问题
- Java:函数
- 分奇偶输出字符串
- 图的深度遍历
- webpack学习
- 【29】Divide Two Integers
- Jmeter:使用BeanShell