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语句,但是实际上只执行了一次数据库查询。