Oracle数据库的分页不同于Mysql数据库简单的Limit就能实现分页。
一般高效和常见的写法,是使用Oracle的RowNum,实现数据的分页。
具体举例如下:
1.我们使用Scott用户登录数据库,来查询Emp表实现分页
我们先查询出emp表的所有数据:
select * from emp e order by e.empno;
?数据结果如下:
?
2. 查询出RowNum以便后续实现根据rowNum进行数据的分页
select rownum rn, e.* from emp e order by e.empno;
??数据结果如下:
?
3. 根据rowNum进行分页
比如,我们需要每页显示五条数据。我们先显示第1-5条
select a.* from (select rownum rn, e.* from emp e order by e.empno) a where a.rn > 0
???数据结果如下:
?
4. 显示第1-5条数据
select b.* from (select a.* from (select rownum rn, e.* from emp e order by e.empno) a where a.rn > 0) b where b.rn < 6
????数据结果如下:
?
目前为止,我们已经完成了数据的分页查询和显示。
我们只需要在程序中动态的改变 where 条件中的rowNum的值即可实现Oracle数据的分页
原文:http://changbl.iteye.com/blog/2303113