分页的几种写法:
--1:无ORDER BY排序的写法。(效率最高)
--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)
SELECT *
FROM (
[真正的查询]
//[]里面放我们需要写的查询语句
AND ROWNUM <= '每页条数'*‘第几页’
) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= ‘每页条数’*(‘第几页’-1)+1;
例子:
SELECT ROWNO,MCOM_COUPON_ID,MCOM_COUPON_TITLE,DISCOUNT_RATE,POINTS,IS_BESTUNION_USER
FROM (
select ROWNUM AS ROWNO,t.*,me.* //这里我们需要的是两个表的数据所以,最上面的select 后面就需要给出实际的表所对应的字段
from mcom_coupon t, MCOM_ENTERPRISES me
where (t.ent_addr like '%春熙路%' or t.mcom_coupon_title like '%春熙路%')
and me.mcom_enterprises_sid = t.MCOM_ENTERPRISES_SID
and ROWNUM <= '每页条数'*‘第几页’) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= ‘每页条数’*(‘第几页’-1)+1;
//第1页,给的值就是1
--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代替)
--(此方法随着查询数据量的扩张,速度会越来越慢哦!)
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;
例如:
SELECT * FROM
(
SELECT A. * , ROWNUM RN
FROM (
Select ROWNUM AS ROWNO, T.*
from mcom_coupon T
where T.mcom_coupon_indu_id='27' ) A
)
WHERE RN BETWEEN ‘每页几条’*(‘第几页’-1)+1 AND ‘每页几条’*‘第几页’
--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;
分享到:
相关推荐
### Oracle分页(LIMIT方式的运用) 在数据库查询操作中,分页是非常常见的需求之一,尤其是在数据量较大的情况下,为了提高用户体验以及减轻服务器压力,我们需要将数据分成若干个页面进行展示。Oracle数据库作为...
### Oracle分页查询详解 #### 一、分页查询的重要性 在数据库操作中,分页查询是一项非常重要的技术。尤其当处理大量数据时,一次性获取所有数据不仅会消耗大量的网络带宽,还可能导致前端页面加载缓慢,用户体验...
总结来说,Oracle和JSP结合实现分页涉及以下几个步骤:在Oracle中构造分页查询,使用JDBC在Servlet中执行查询,然后在JSP页面中展示数据。理解并熟练掌握这些步骤对于开发高效、用户友好的数据驱动网站至关重要。在...
总结来说,“ssh+oracle分页”涉及了SSH框架整合、数据库操作、前端展示等多个环节,需要综合运用各种技术和工具,确保数据分页的高效性和用户体验。理解并掌握这些知识点,对提升Java Web开发者的能力大有裨益。
总结来说,Oracle分页存储过程是通过动态构造SQL语句,结合输入的分页参数,计算出总页数,并返回指定页的数据。这种方式在处理大量数据时提高了效率,同时也提供了灵活的查询控制。通过包装这些逻辑在存储过程中,...
总结,Oracle分页结合Servlet、AJAX、JSON和jQuery可以构建出高性能、用户体验良好的分页应用。Servlet处理后端逻辑和数据交互,AJAX实现前后端无刷新通信,JSON作为数据交换格式,而jQuery则负责前端的数据解析和...
### Oracle分页查询详解 在Oracle数据库中,实现分页查询是常见的需求之一。通过合理的分页查询可以提高数据检索的效率,优化用户体验。本文将详细介绍一个特定的Oracle分页查询语句:“`select * from (select a.*...
本篇文章将深入探讨Oracle分页的机制,并提供易于理解的示例。 首先,我们来看SQL标准的`OFFSET-FETCH`和`LIMIT`子句。虽然`LIMIT`不是Oracle的原生语法,但Oracle 12c引入了`FETCH FIRST n ROWS ONLY`和`OFFSET m ...
总结来说,Oracle数据库实现分页查询有多种策略,包括ROWNUM、ROW_NUMBER()以及子查询和连接方法。根据实际场景选择合适的方法,同时注意优化查询以提高性能,是确保高效分页的关键。在Eclipse这样的开发环境中,...
### Oracle分页详解 在数据库应用开发中,为了提高用户体验并优化系统性能,分页查询是一种常见的技术手段。本文将详细介绍如何在Oracle数据库中实现高效、灵活的分页功能。 #### 一、Oracle分页原理 Oracle中的...
总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...
本文将详细探讨三种常用的Oracle分页SQL方法:ROWNUM、ROWNUM结合子查询以及新引入的Oracle 12c的FETCH NEXT WITH OFFSET语法。这三种方法各有优缺点,适用于不同的场景。 1. ROWNUM方法: ROWNUM是Oracle中最基础...
总结来说,Oracle数据库提供了多种分页查询的方法,包括ROWNUM、RANK()、DENSE_RANK() 和 ROW_NUMBER()等。在选择合适的方法时,应综合考虑数据量、查询性能和兼容性等因素。在编写分页查询时,注意保持代码的可读性...
mysql,oracle,sql server分页总结与比较
总结来说,Struts2.0处理HTTP请求,Hibernate管理数据持久化,而Oracle提供高效的数据存储和查询能力。在处理分页问题时,需要巧妙地结合这三个组件,合理设计和实现分页逻辑,以提高系统的响应速度和用户体验。通过...
Oracle 的分页查询 在 Oracle 中,分页查询是非常常见的需求,但是在使用查询条件时又不能使用大于号(>)。本文将讲解 Oracle 中的分页查询,包括使用 ROWNUM 伪列和 ORDER BY 子句对查询结果进行排序和分页。 一...
### JSP与Oracle数据库分页显示技术解析 #### 一、概述 本文档介绍了一种基于JSP(Java Server Pages)结合Oracle数据库实现的数据分页显示方法。此方法利用了JDBC(Java Database Connectivity)2.0标准进行...
总结,Oracle分页存储过程是数据库管理中常见的功能,它结合了分页查询和存储过程的优势,提供了高效、灵活的数据检索方式。通过理解其工作原理和编写方法,我们可以更好地利用这一工具来优化数据库应用。
总结,Oracle 存储过程中的分页实现有很多种方式,包括ROWNUM、ROW_NUMBER()、CTE、FETCH FIRST子句,以及JOIN和游标等。选择哪种方法取决于具体的需求,如数据库版本、性能需求、查询复杂性等因素。正确使用分页...
首先,我们要理解Oracle分页查询的基本概念。分页查询允许我们按照指定的页码和每页大小来获取数据,这样用户可以逐步浏览数据,而不是一次性看到所有内容。在Oracle中,这通常涉及到对数据进行排序和分配行号。 ...