Java 分页计算公式

时间:2025-03-17 08:37:40

1 根据传入的参数计算

1.1 请求参数(currPage:当前页、pageSize:每页展示条数),根据这两个参数计算起始起始条数、截止条数

  • 起始条数

firstIndex = (currPage-1) * pageSize +1
  • 截止条数

lastIndex = currPage * pageSize

1.2 计算总页码(需获取总条数)

pages = total%pageSize == 0 ? total/pageSize: total/pageSize + 1 

以上适用于使用

select * from ( SELECT A.*, ROWNUM AS RN FROM (select * from table) A ) WHERE 1=1  AND RN BETWEEN start AND end order by rownum

2 第二种计算方式(oracle)

int start = (pageNo - 1) * pageSize;
int end = pageNo  * pageSize;

SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM (select * from table) TMP WHERE ROWNUM <= end) WHERE ROW_ID > start