分页显示的SQL语句应该如何写

分页显示的SQL语句应该如何写

如果在第一页面显示1-10条记录,翻到第二页以后显示11-20条记录,第三野显示21-30,依次类推,请问SQL语句如果写才能只选择1-10条,11-20条,20-30等等?

向版主反映这个帖子  查看wmgreat 的IP地址

楼主 旧帖 03-03-14 08:44
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom574056(size){ document.getElementById('text574056').style.fontSize=size+'px' } document.getElementById('text574056').style.fontSize='px' </script>
qiaoyu
积极应变

注册日期: 2001 Sep
来自: ChongQing
技术贴数:150
论坛积分:1337
论坛排名:1322
论坛徽章:2

ITPUB元老授权会员    
      

这不是在sql里完成的,是在你的页面编程里完成的。


__________________
有罪众生,至彼受苦,无有间隙,故名无间。成实论言此地狱有五间:一者趣果无间,二者受苦无间,三者时无间,四者命无间,五者形无间

向版主反映这个帖子  查看qiaoyu 的IP地址

2楼 旧帖 03-03-14 08:48
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom574068(size){ document.getElementById('text574068').style.fontSize=size+'px' } document.getElementById('text574068').style.fontSize='px' </script>
zxyding
中级会员

注册日期: 2002 Dec
来自: 北京
技术贴数:171
论坛积分:1592
论坛排名:1125
论坛徽章:1

授权会员     
      

采用集合的概念,用top或者用rowno


__________________
莫问前尘,走遍千山万水我独行

向版主反映这个帖子  查看zxyding 的IP地址

3楼 旧帖 03-03-14 10:51
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom574383(size){ document.getElementById('text574383').style.fontSize=size+'px' } document.getElementById('text574383').style.fontSize='px' </script>
wmgreat
初级会员

注册日期: 2002 Nov
来自:
技术贴数:21
论坛积分:234
论坛排名:7271
论坛徽章:0

      
      

以上两位说的都不太符合我的想法,把查询出来的结果集放到容器里面,在放到session里面,性能太低.
我希望能够定位的sql语句

向版主反映这个帖子  查看wmgreat 的IP地址

4楼 旧帖 03-03-14 12:37
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom574686(size){ document.getElementById('text574686').style.fontSize=size+'px' } document.getElementById('text574686').style.fontSize='px' </script>
chelly8888
中级会员

注册日期: 2003 Mar
来自: 上海
技术贴数:190
论坛积分:694
论坛排名:2613
论坛徽章:1

授权会员     
      

这个好像要通过程序里面来控制分页的吧!

向版主反映这个帖子  查看chelly8888 的IP地址

5楼 旧帖 03-03-14 12:50
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom574713(size){ document.getElementById('text574713').style.fontSize=size+'px' } document.getElementById('text574713').style.fontSize='px' </script>
chelly8888
中级会员

注册日期: 2003 Mar
来自: 上海
技术贴数:190
论坛积分:694
论坛排名:2613
论坛徽章:1

授权会员     
      

通过PL/SQL把取出来的结果集放到几个游标或者变量中即可


__________________
注册公司的来这里看看,保证迅速快捷,价格便宜:
www.zhan-xin.com
www.sity.com.cn

向版主反映这个帖子  查看chelly8888 的IP地址

6楼 旧帖 03-03-14 12:53
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom574724(size){ document.getElementById('text574724').style.fontSize=size+'px' } document.getElementById('text574724').style.fontSize='px' </script>
lander
中级会员

注册日期: 2002 Nov
来自: 上海
技术贴数:140
论坛积分:369
论坛排名:4829
论坛徽章:0

      
      

Re: 分页显示的SQL语句应该如何写

 


__________________
=====================
探索Oracle,探索奥秘
QQ:2365506
MSN:lander1216@hotmail.com
=====================

向版主反映这个帖子  查看lander 的IP地址

quote:
最初由 wmgreat 发布
如果在第一页面显示1-10条记录,翻到第二页以后显示11-20条记录,第三野显示21-30,依次类推,请问SQL语句如果写才能只选择1-10条,11-20条,20-30等等?


拙见:不知能否可以利用Primary Key、Index或Rowid
7楼 旧帖 03-03-14 22:29
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom575943(size){ document.getElementById('text575943').style.fontSize=size+'px' } document.getElementById('text575943').style.fontSize='px' </script>
jlandzpa
版主

注册日期: 2001 Oct
来自: guangzhou
技术贴数:12761
论坛积分:99614
论坛排名:7
论坛徽章:5

现任管理团队成员管理团队2006纪念徽章会员2006贡献徽章   
      

这个问题以前热烈讨论过,查查。


__________________
提供网络,主机,数据库,存储,机房装修,MIS的开发等服务.
my blog: http://blog.itpub.net/jlandzpa mail: 我的id@itpub.net

“农民真苦,农村真穷,农业真危险。”2002年,时任湖北省监利县棋盘乡党委书记的李昌平,用13个字概括出中国“三农”问题。

[...TOM...]性能是设计出来,而非调整出来的.

丛飞是个好人,但个人觉得做好事也应该有限度;而那些受到丛飞帮助的人也应该有个感恩的心,不能太过分无耻了。
心寒:看看这些接受从飞捐助的人:http://ent.icxo.com/htmlnews/2006/04/29/845968_0.htm

向版主反映这个帖子  查看jlandzpa 的IP地址

8楼 旧帖 03-03-14 23:00
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom575999(size){ document.getElementById('text575999').style.fontSize=size+'px' } document.getElementById('text575999').style.fontSize='px' </script>
lodge
肥猫猫

注册日期: 2002 Dec
来自:
技术贴数:3356
论坛积分:54004
论坛排名:25
论坛徽章:10

现任管理团队成员BLOG每日发帖之星    
      

说说, 我正在使用的方法(不是我的设计)
所有此类查寻, 都分成两步, 第一步, 找到所有符合条件的PK(如有可能可以使用ROWID来做), 再把PK做成LIST保存到SESSION里
第二步, 分析页面传来的控制信息, 如, 起始记录的位置, 欲表示记录的件数, 取得要表示的KEY, 做循环, 逐条查出表示数据,

这样做的缺点是效率不是很高, 优点是程序代码结构清晰, 思路明确, 容易规范化, 模块之间依赖性很小, 适合分散开发的大型系统.


__________________

向版主反映这个帖子  查看lodge 的IP地址

9楼 旧帖 03-03-15 01:17
[ ]    给予该贴好评  编辑/删除 引用/回复
<script language="JavaScript" type="text/javascript"> function doZoom576136(size){ document.getElementById('text576136').style.fontSize=size+'px' } document.getElementById('text576136').style.fontSize='px' </script>
armok
版主

注册日期: 2002 Nov
来自: 广州
技术贴数:569
论坛积分:1894
论坛排名:915
论坛徽章:2

会员2006贡献徽章授权会员    
      

不用这么复杂啊。SQL里的确可以实现分页的。

我开发过一个论坛:
www.oracle-dev.com , 是使用jsp+oracle, 就是使用这个方法。

有关的语句如下:

int bottom=(bbsPageNo-1)*pageLine; //bbsPageNo 为页码, pageLine为每页显示的数目
int top=bbsPageNo*pageLine+1; //bottom 为该页结束记录数,top 为该页起始记录数

String sql=" select * from (select rownum auto_id,locked,serial_no,content_str,deleted,parent_no,title,speaker,click_num,face,valued,translation,picture,creative,guide,movie,attop,if_newtopic,last_reply_time,to_char(last_reply_time,'mm-dd,hh24:mi') last_reply_time_str,last_reply_speaker,reply_count "
+" from (select serial_no,locked,replace(replace(last_reply_content,'<br>',' '),'''','‘') content_str,deleted,parent_no,title,speaker,click_num,face,valued,translation,picture,creative,guide,movie
,attop,decode(sign(sysdate-issue_time-"+ newtopic_time/24 +"),-1,'y',null) if_newtopic,last_reply_time,reply_count ,last_reply_speaker "
+" from "+topics_table+" order by attop,last_reply_time desc)) "
+" where auto_id>"+bottom+" and auto_id<"+top;


__________________
我的主页 http://61.144.28.248/dev 欢迎讨论developer开发问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值