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