博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL中计算sql语句影响行数的函数
阅读量:5879 次
发布时间:2019-06-19

本文共 622 字,大约阅读时间需要 2 分钟。

SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:


    mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name

        -> WHERE id > 100 LIMIT 10;

    mysql> SELECT FOUND_ROWS()


第二个SELECT将返回第一条SELECT如果没有LIMIT时返回的行数,

如果在前一条语句中没有使用SQL_CALC_FOUND_ROWS选项,FOUND_ROWS()将返回前一条语句实际返回的行数。


FOUND_ROWS()得到的数字是临时的,执行下一条语句就会失效。如果想要这个数字,就要将它保存下来:


    mysql> SELECT SQL_CALC_FOUND_ROWS * FROM ... ;

    mysql> SET @rows = FOUND_ROWS();


如果使用 SELECT SQL_CALC_FOUND_ROWS,MySQL必须计算所有结果集的行数。尽管这样,

总比再执行一次不使用LIMIT的查询要快多了吧,因为那样结果集要返回客户端的。

本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/223778

转载地址:http://mmcix.baihongyu.com/

你可能感兴趣的文章
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
upgrade to iOS7,how to remove stroyboard?
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
zabbix监控部署
查看>>
struts中的xwork源码下载地址
查看>>
Android硬件抽象层(HAL)深入剖析(二)
查看>>
CDays–4 习题一至四及相关内容解析。
查看>>
L3.十一.匿名函数和map方法
查看>>
java面向对象高级分层实例_实体类
查看>>
android aapt 用法 -- ApkReader
查看>>
[翻译]用 Puppet 搭建易管理的服务器基础架构(3)
查看>>
Android -- AudioPlayer
查看>>
Python大数据依赖包安装
查看>>
Android View.onMeasure方法的理解
查看>>
Node.js 爬虫初探
查看>>
ABP理论学习之仓储
查看>>
NestJS 脑图
查看>>
我的友情链接
查看>>