Oracle的分页查询及总页数计算方法(oracle分页总数)

分页查询在我们的软件开发过程中影响深远,如果需要把总的数据查询结果按页显示的话,分页查询是必不可少的一部分。Oracle就提供了一部分函数来完成分页查询以及总页数计算的实现。

#### 一、Oracle分页查询

Oracle提供了基于rownum的分页查询,这样的话我们可以更轻松的完成数据库中大量数据的查询,同时也可以按照每页显示多少条记录来显示,而且性能和数据库存储无关。基于rownum方式的分页查询,可以把每页显示多少条记录作为参数,根据计算总的页数并执行分页查询,下面是具体的分页查询语句:

“`SQL

SELECT * FROM (

SELECT Table_A.*,rownum ROWNUM_

FROM (

YOUR_ACTUAL_SELECT_STATEMENT

) Table_A

WHERE rownum

) WHERE ROWNUM_ >= :first_rownum_

 
#### 二、总页数计算方法
通过上面的查询,当我们已经拿到总记录时,其实可以轻松计算出总页数,Oracle也提供了一些函数对这个进行简单处理,处理方法是:将上面查询出数据记录总数使用ceil()函数进行四舍五入,并除以每页显示多少条记录,用下面的查询语句实现:
```SQL
SELECT CEIL(COUNT(*) / :pagesize) FROM YOUR_TABLE

以上是Oracle的分页查询以及总页数计算的方法,对于大表,由于数据量很大,采用rownum分页会存在性能问题,此外也可以使用 Oracle Cursor 进行分页查询,总之,分页查询是我们开发中必不可少的功能之一,Oracle也给我们提供了一系列的支持,事半功倍,节省时间和提高工作效率。


数据运维技术 » Oracle的分页查询及总页数计算方法(oracle分页总数)