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

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



精华贴数 0
个人空间 0
技术积分 2964 (505)
社区积分 4 (17114)
注册日期 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
技术积分 12186 (95)
社区积分 5265 (272)
注册日期 2002-10-12
论坛徽章:80
数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星
      

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


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


精华贴数 2
个人空间 0
技术积分 1504 (1108)
社区积分 445 (1472)
注册日期 2006-3-1
论坛徽章:3
授权会员2008北京奥运纪念徽章:棒球数据库板块每日发贴之星   
      

发表于 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 (8749)
社区积分 0 (1726590)
注册日期 2008-3-18
论坛徽章:0
      
      

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


只看该作者    顶部
离线 visual2006



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

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


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


精华贴数 0
个人空间 0
技术积分 1082 (1638)
社区积分 12 (9733)
注册日期 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
技术积分 4954 (264)
社区积分 34969 (24)
注册日期 2007-9-10
论坛徽章:29
奥运纪念徽章祖母绿红宝石海蓝宝石紫水晶蓝锆石
紫蜘蛛玉石琵琶2008北京奥运纪念徽章:皮划艇激流回旋2008北京奥运纪念徽章:皮划艇激流回旋2008北京奥运纪念徽章:马术2008北京奥运纪念徽章:皮划艇激流回旋

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


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



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

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


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


精华贴数 2
个人空间 0
技术积分 1504 (1108)
社区积分 445 (1472)
注册日期 2006-3-1
论坛徽章:3
授权会员2008北京奥运纪念徽章:棒球数据库板块每日发贴之星   
      

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

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


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

相关内容


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