一次性完成分页查询并且附带数据总条数

Posted Eilen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次性完成分页查询并且附带数据总条数相关的知识,希望对你有一定的参考价值。

通常mysql获取查询记录总数我们使用如下语句:
SELECT COUNT(*) FROM users WHERE k=‘avs‘;
SELECT id FROM goods WHERE k=‘avs‘ LIMIT 10;

但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有这样的问题,其实mysql可以在一次查询中获取记录和总数的,这就是要使用SQL_CALC_FOUND_ROWS参数,使用方法如下:
SELECT SQL_CALC_FOUND_ROWS goods WHERE k=‘avs‘ LIMIT 10;
SELECT FOUND_ROWS();

这虽然是两个sql语句,但是确是查询一次数据库,效率明显提高了一半!其中SQL_CALC_FOUND_ROWS 告诉Mysql将sql所处理的行数记录下来,FOUND_ROWS() 则取到了这个纪录。

以上是关于一次性完成分页查询并且附带数据总条数的主要内容,如果未能解决你的问题,请参考以下文章

jquery ajax 调用kkpager插件 异步加载重新生成分页后,点击页数还是跟首次加载一样

sql语句分页查询,如何同时返回记录总条数

手动分页解决一对多查询使用PAGEHELPER分页插件查询总条数不对

配置 nz-table 表单页脚总页数与条数显示 - Angular

Asp.net的DataPager控件如何显示当前页的数据条数、总条数和总页数?

hibernate做分页查询