mysql 分页查询时,如何正确的获取总数

1. 普遍方法:

使用 COUNT(*) ,例如:

SELECT COUNT(*) as total FROM studentTask WHERE subjectName = '高中数学';

缺点: 记录集还需要单独的查询来获取,相当于两次查询

2. 推荐方法

SELECT SQL_CALC_FOUND_ROWS id, teacherId, teacherName FROM studentTask WHERE subjectName = '高中数学' LIMIT 1,20;
SELECT FOUND_ROWS() as total;

  

虽然看起来是两条SQL语句,但是实际上只执行了一次数据库查询。

转载于:https://www.cnblogs.com/spaceapp/p/10368550.html