已知总记录数(totalCount)和每页显示的数量(pageSize)
求总页数(pageCount)为多少?

算法1

public int getPageCount(int totalCount, int pageSize) {
	return (totalCount -1) / pageSize + 1;
}

算法2 最容易理解

public int getPageCount(int totalCount, int pageSize) {
	return totalCount % pageSize == 0 ? totalCount / pageSize : (totalCount / pageSize + 1);
}

算法3 大数据时存在溢出的隐患

public int getPageCount(int totalCount, int pageSize) {
	return (totalCount + pageSize -1) / pageSize;
}
  • 算法1和算法3可相互转化,本质是同一回事

使用当前页码(currentPage)和每页显示的数量(pageSize)
limit 分页通用公式?

示例

SELECT username, age, sex
FROM user_table
LIMIT (curretPage - 1) * pageSize, pageSize