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

本文介绍两种在数据库查询中统计特定条件记录数目的方法。一种是普遍使用的COUNT(*)方法,但存在需要两次查询的缺点;另一种是推荐的使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数的方法,虽然看似两条SQL语句,但实际上只需一次数据库查询,提高效率。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值