ITPUB??ì3
ITPUB论坛 » Oracle开发 » 翻页查询

标题: 翻页查询
离线 applezh
Oracle痴迷者



精华贴数 0
个人空间 0
技术积分 2950 (508)
社区积分 4 (17056)
注册日期 2004-8-3
论坛徽章:1
授权会员     
      

发表于 2008-6-24 20:20 
翻页查询

现在翻页查询一般都是以下方式:

select * from
       (select a.*
            from (select rownum rn,* from table order by...) a
            where rn<翻页上限) b
            b.rn>翻页下限

我觉得上述并不高效,大家都是用的什么方法?


只看该作者    顶部
离线 zhangfengh
老狐狸


精华贴数 3
个人空间 0
技术积分 11905 (96)
社区积分 5047 (280)
注册日期 2002-10-12
论坛徽章:79
现任管理团队成员2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:帆船2008年新春纪念徽章  
      

发表于 2008-6-24 20:22 
select * from (select rownum rn,* from table order by...)
            where rn<翻页上限 and rn>翻页下限


__________________
=======================================
接受以下奥运徽章赞助
黄色:篮球、田径、体操
红色:铁人三项、射击
=======================================
接受鲜花赞助
蓝色妖姬
紫蜘蛛
九尾狐狸
玉兔
=======================================
狐狸在这个世界上是凭借聪明而得到生存的,并且在这个世界上占有一席之地,学习狐狸的聪明,少走弯路。
=======================================
聪明的人,能把别人的经验吸收过来,使之成为自己的经验!
=======================================
只看该作者    顶部
离线 caizhuoyi
Oracle Stranger


精华贴数 2
个人空间 0
技术积分 1502 (1100)
社区积分 445 (1465)
注册日期 2006-3-1
论坛徽章:2
授权会员数据库板块每日发贴之星    
      

发表于 2008-6-24 21:35 
若是排序分页,9i之后可考虑分析函数,效率比用rownum的要高:

SELECT *
  FROM (SELECT row_number() over(ORDER BY col) rn, a.* FROM tables a)
WHERE rn > firstpage
   AND rn < lastpage;


__________________
我不在江湖,但江湖中有我的传说;
我身在江湖,江湖里却没有我的传说。
只看该作者    顶部
离线 哈儿1号



来自 成都
精华贴数 0
个人空间 0
技术积分 215 (8724)
社区积分 0 (1725830)
注册日期 2008-3-18
论坛徽章:0
      
      

发表于 2008-6-24 23:01 
我觉得具体的应用系统在决定用那种SQL翻页查询很重要!


只看该作者    顶部
离线 visual2006



精华贴数 0
个人空间 0
技术积分 768 (2427)
社区积分 4 (18174)
注册日期 2006-7-23
论坛徽章:1
      
      

发表于 2008-6-25 08:34 
实际情况实际分析


只看该作者    顶部
离线 HuiYiSky
灰亦


精华贴数 0
个人空间 0
技术积分 1068 (1656)
社区积分 12 (9692)
注册日期 2007-1-31
论坛徽章:6
嫦娥授权会员2008北京奥运纪念徽章:击剑生肖徽章2007版:羊生肖徽章2007版:狗ITPUB新首页上线纪念徽章
      

发表于 2008-6-25 09:12 
看看杨版主的总结。
   Oracle分页查询格式(一):http://yangtingkun.itpub.net/post/468/100278
   Oracle分页查询格式(二):http://yangtingkun.itpub.net/post/468/101703
   Oracle分页查询格式(三):http://yangtingkun.itpub.net/post/468/104595
   Oracle分页查询格式(四):http://yangtingkun.itpub.net/post/468/104867
   Oracle分页查询格式(五):http://yangtingkun.itpub.net/post/468/107934
   Oracle分页查询格式(六):http://yangtingkun.itpub.net/post/468/108677
   Oracle分页查询格式(七):http://yangtingkun.itpub.net/post/468/109834
   Oracle分页查询格式(八):http://yangtingkun.itpub.net/post/468/224557
   Oracle分页查询格式(九):http://yangtingkun.itpub.net/post/468/224409


只看该作者    顶部
离线 jvkojvko
小马哥


精华贴数 1
个人空间 0
技术积分 4758 (275)
社区积分 32620 (25)
注册日期 2007-9-10
论坛徽章:25
金色在线徽章每日论坛发贴之星生肖徽章:猪   
      

发表于 2008-6-25 09:39 
学习了,老杨就是牛啊


__________________
马无夜草不肥,人无外财不富。
只看该作者    顶部
离线 keyneszhanghui



精华贴数 0
个人空间 20
技术积分 231 (8176)
社区积分 0 (1696846)
注册日期 2008-2-25
论坛徽章:0
      
      

发表于 2008-6-25 09:59 
学习了


只看该作者    顶部
离线 caizhuoyi
Oracle Stranger


精华贴数 2
个人空间 0
技术积分 1502 (1100)
社区积分 445 (1465)
注册日期 2006-3-1
论坛徽章:2
授权会员数据库板块每日发贴之星    
      

发表于 2008-6-25 15:11 
回复 #6 HuiYiSky 的帖子

确实全面,牛啊,
别人还是2006年总结的,看来学习的道路还很长啊!


__________________
我不在江湖,但江湖中有我的传说;
我身在江湖,江湖里却没有我的传说。
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问