关键字:ROWNUM
分页参数:curPage(当前页数),pageSize(每页大小)
用法:
select * from (
select t.*,ROWNUM RN from table t where ROWNUM<=curPage*pageSize)tmp
where tmp.RN >=(curPage-1)*pageSize
注意:上限条件必须放在子查询,下限条件必须放在外层查询,原因如下:
rownum总是从1开始,第一条不满足去掉,第二条的rownum又变成了1,以此类推,永远没有满足条件的记录,所以当子查询中使用“>,>=,=,between...and ”的时候,是查不到数据的!
对于检索、排序、分组等SQL查询出来的数据,分页时候注意分页数据的正确性!例如排序:排序SQL作为最内子查询先对数据排好序,然后倒数第二层放分页上限条件,最外层放下限条件。
总页数:总数量/pageSize+1