Oracle分页讨论

Advertisement

oracle分页???
在mysql中只要limit x,y就可以分页成功,那oracle 中是怎么做的呢?

=================================================

方法一:

SELECT id,rown
FROM (SELECT id, ROWNUM rown
FROM (SELECT id
FROM table
WHERE (************)
ORDER BY ********)
WHERE ROWNUM <= 每页条数*页号)
WHERE (rown BETWEEN 每页条数*页号-(每页条数-1) AND 每页条数*页号)

搞不定和我联系 lhw@263.net

这样取出第11-20条记录!

select * from (
select rownum r,a from yourtable
where rownum <= 20
order by name )
where r > 10

=========================================================

[code=SQL]
select * from
(select rownum r , e.*
--根据条件查找出所要的记录
from
(select * from empwhere 条件 order by 字段 ) e
)
where r between 起始行and 结束行
[/code]

======================================================

方法三:

a_ja(青藏牦牛)回复于 2003-06-14 12:16:29 得分 0

select * from you_db_table where rownum < 20
minus
select * from you_db_table where rownum < 10

这样取出的是10~20之间的记录

======================================================

方法四:

有分页相对应的函数,如果从oracle中第100条开始,取10条数据,可以这样写:

Query q=session.creatQuery(" fromPerson as p");
q.setFirstResult(100);
q.setMaxResult(10);
List l=q.list();

Similar Posts:

  • ORACLE分页效率

    转自:http://blog.csdn.net/jackpk/archive/2010/10/18/5948448.aspx robbin对oracle ROWNUM 方式分页效率问题的看法: http://www.iteye.com/topic/8805: select * from ( select row_.*, rownum rownum_ from (...... ) row_ where rownum <= ?) where rownum_ > ? select * from (

  • ORACLE分页及MS SQL分页

    一.ORACLE分页 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句.ROWNUM <= 40和RN >= 21控制分页查询的每页的范围. 上面给出的这个分页查询语句,在大多数情况拥有较高的效率.分页的目的就

  • oracle分页查询

    oracle分页查询主要是sql语句的编写 例: SELECT * FROM (SELECT A.*, ROWNUM RN FROM TABLE A WHERE ROWNUM <= 40) WHERE RN >= 21 1. 这里要注意的是,括号里的SELECT A.*, ROWNUM RN FROM TABLE A WHERE ROWNUM <= 40这一句是先查询表TABLE中的前40条,但要同时把ROWNUM 这一列查出,然后下一步根据ROWNUM的列表RN>21查询从21条

  • struts2.0 + hibernate + oracle 分页问题

    最近弄了下 struts2.0 + hibernate + oracle 分页问题的 从网上搜了些资料.总觉得不是很合心意.自己做了例子. ueser.sql DROP TABLE "SCOTT"."T_USER" cascade constraints; DROP SEQUENCE "SCOTT"."Q_USER"; CREATE TABLE "SCOTT"."T_USER" ( &q

  • Oracle 分页算法汇总

    这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下! -- Oracle 分页算法一 select * from ( select t.*,rownum rn from (select * from help) t -- 20 = (currentPage-1) * pageSize + pageSize where rownum <= 20 ) -- 10 = (currentPage-1) * pageSize where rn > 10; -

  • oracle分页方法及java程序实现

    MSSQL SYBASE下面用top 来分页 POSTGRESQL MYSQL就直接用limit更简单了 在oracle 下面有4种方法 oracle分页技术2007年08月13日 星期一 23:08两种分页技术,第二种效率高多了 1. select * from (select rownum rn,t.* from table t ) where rn <50 and rn>=1 2. select * from (select rownum rn,t.* from table t rown

  • Oracle分页存储过程及PLSQL中的调用脚本

    撰写过程:网上搜集测试了好多的Oracle分页存储过程代码,经整理后终于通过测试,特分享给大家 测试步骤:1.运行创建包命令;2.运行创建存储过程命令;3.运行调用分页存储过程语句 测试环境:windows2003+Oracle11g+PLSQL Developer --1.创建包命令 create or replace package mypackage as type cursor_page is ref cursor; Procedure myprocdure( p_TableName v

  • mysql sqlserver oracle分页语句

    http://www.cnblogs.com/fanyong/p/3351350.html 与Oracle和MS SqlServer相比,mysql的分页方法简单的让人想哭. --语法: SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset --举例: select * from table limit 5; --返回前5行 select * from table limit 0,5; --同上,返回前5行 select *

  • Oracle分页原理Java三层架构分页实例

    Oracle分页原理Java三层架构分页实例 一. 运行效果 二. JDBC工具封装 三.接口设计(DAO层) 四.接口实现层 五.封装分页模型 由于在一个大型项目中分页要有很多处用到所以我们封装起来方便使用. 六.核心Servlet 在前台就是访问这个Servlet来进行分页数据的调用. 七.前台页面显示 版权声明:本文为博主原创文章,未经博主允许不得转载.

  • 改进的Oracle分页存储过程

    --Oracle分页存储过程(1)----定义包头部create or replace package ZK_Pack istype refCursorType is ref cursor; --定义游标变量用于返回记录集procedure PageSort_proc (p_field in varchar2, --要查询的字段 p_sql in varchar2, --表名 p_PageSize in number, --每页记录数 p_PageNo in number, --当前页码,从 1