mysql查询获取数据的同时返回总数
分类专栏: Mysql&
简介 这种方式好用。
<h2>用法说明</h2><p><br></p><p>分页程序一般由两条SQL组成:</p><p><br></p><pre class="ql-syntax" spellcheck="false">SELECT COUNT(*) FROM ... WHERE ....
SELECT ... FROM ... WHERE LIMIT ...
</pre><p><br></p><p>如果使用SQL_CALC_FOUND_ROWS的话,一条SQL就可以了:</p><p><br></p><pre class="ql-syntax" spellcheck="false">SELECT SQL_CALC_FOUND_ROWS ... FROM ... WHERE LIMIT ...
</pre><p><br></p><p>在得到数据后,通过FOUND_ROWS()可以得到不带LIMIT的结果数:</p><p><br></p><pre class="ql-syntax" spellcheck="false">SELECT FOUND_ROWS()
</pre><p><br></p><h2>示例</h2><p><br></p><p>常规分页查询:</p><p><br></p><pre class="ql-syntax" spellcheck="false">//获取总数
SELECT COUNT(*) FROM users WHERE k='avs';
//获取当前页记录
SELECT id FROM goods WHERE k='avs' LIMIT 10;
</pre><p><br></p><p>使用 SQL_CALC_FOUND_ROWS 和 FOUND_ROWS()方式</p><p><br></p><pre class="ql-syntax" spellcheck="false">SELECT SQL_CALC_FOUND_ROWS goods WHERE k='avs' LIMIT 10;
SELECT FOUND_ROWS(); //获取总数
</pre><p><br></p><p>这虽然是两个sql语句,但是确是查询一次数据库,效率明显提高了一半!</p><p><br></p><p>SQL_CALC_FOUND_ROWS:告诉Mysql将sql所处理的行数记录下来,FOUND_ROWS():则取到了这个纪录</p><p><br></p>
分享到:
转载:
http://www.cnblogs.com/ssslinppp/
喜欢 0
收藏
暂无评论信息
- 文章推荐
-
亚马逊推出“无需收银员”的新技术,以此帮助品牌和广告商提高销量
北京时间 6 月 30 日早间消息,据报道,亚马逊发明了一种无需收银员的技术,可以加快人们去杂货店或便利店的速度。现在,该公司希望利用这个跟踪系统来帮助品牌和广告商提高销量。&
-
docker搭建jenkins环境执行宿主机的docker无权限的解决方法
初次搭建jenkins持续集成工具的时候,在运行项目阶段出现 permission denied的情况
-
娱美德旗下MMORPG手游《传奇4》将推出新PVP玩法"比奇掠夺"&
《传奇4》推出新门派PVP玩法!韩国首尔2022年6月29日 /美通社/ -- 《传奇4》(MIR4)的新PVP玩法比奇掠夺(Bicheon Heist)于2022年6月28日推出。
-
半导体短缺即将结束?分析师:如果没有 1 美元芯片会影响更多
德勤咨询(Deloitte Consulting)的芯片分析师认为,随着芯片行业资本支出的增加,需求度较高的工厂已经开工,预示着短缺情况即将结束。
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:213篇
- 建站时间:已运行1217天
- 备案号: 浙ICP备2022018799号
- 语言:
- English(USA)
- French(FR)
- Chinese(ZH)
无数据