当前位置:首页 > 数据库 > Oracle

Oracle数据库分页查询的几种实现方法

没有Sql Server有top那么好用,但是Oracle含有隐藏的rownum列可以灵活使用,使实现分页效果,pageSize默认10行

方法一:

select * from test where id not in (
select id from test where rownum <= 10)
and rownum <= 10 order by id
/--此方法除去前10行数据,剩下的重新排序,选取前十行,相当于第二页显示

方法二:

SELECT * from test where  rownum <= 20 
minus
select * from test  where rownum <= 10
/
--此方法使用关键字minus 选出两页 再排除第一页 数据 ,使其显示第二页数据

方法三:

select id ,name from(
select rownum as rowno,t.* from test t where rownum <= 20 order by rowno) 
where rowno > 10
/--此方法把rownum直接显式保存到结果集中,然后根据rowno方便选取数据,与方法一,类似..为了保险 我加了rowno排序 不知是否多余

 

原文:http://www.cnblogs.com/whytohow/p/5026343.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!