如何实现Oracle数据库的分页显示?
2个回答
推荐于2017-11-28
展开全部
因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:
1)、一种是利用相反的。
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select * from components where id not in(select id from components where rownum<=(PAGESIZE*(CURRENTPAGE-1))) and rownum<=PAGESIZE order by id;
如下例:
select * from components where id not in(select id from components where rownum<=100) and rownum<=10 order by id;
从101到记录开始选择,选择前面10条。
2)、使用minus,即中文的意思就是减去,呵呵,这语句非常的有意思,也非常好记
select * from components where rownum<=(PAGESIZE*(CURRENTPAGE-1)) minus select * from components where rownum<=(PAGESIZE*(CURRENTPAGE-2));
如例:select * from components where rownum<=10 minus select * from components where rownum<=5;.
3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名],可以看到,是从1到当前的记录总数。
select * from (select rownum tid,components.* from components where rownum<=100) where tid<=10;
1)、一种是利用相反的。
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select * from components where id not in(select id from components where rownum<=(PAGESIZE*(CURRENTPAGE-1))) and rownum<=PAGESIZE order by id;
如下例:
select * from components where id not in(select id from components where rownum<=100) and rownum<=10 order by id;
从101到记录开始选择,选择前面10条。
2)、使用minus,即中文的意思就是减去,呵呵,这语句非常的有意思,也非常好记
select * from components where rownum<=(PAGESIZE*(CURRENTPAGE-1)) minus select * from components where rownum<=(PAGESIZE*(CURRENTPAGE-2));
如例:select * from components where rownum<=10 minus select * from components where rownum<=5;.
3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名],可以看到,是从1到当前的记录总数。
select * from (select rownum tid,components.* from components where rownum<=100) where tid<=10;
2013-07-05
展开全部
在读取数据时传入一个参数,所谓的分页其实就是按某个值段读取
比如说一页显示10行,那么第二页就是10-20行....
比如说一页显示10行,那么第二页就是10-20行....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询