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

posted @ 2019-02-13 10:41  binger0712  阅读(9601)  评论(0编辑  收藏  举报