首页 > 数据库 >MySQL中的FOUND_ROWS()与ROW_COUNT()函数

MySQL中的FOUND_ROWS()与ROW_COUNT()函数

时间:2024-05-13 10:20:56浏览次数:13  
标签:COUNT 返回 ROWS Gender MySQL FOUND ROW

参考:https://www.cnblogs.com/JennyYu/p/16888090.html
FOUND_ROWS():
found_rows()用于查询同一连接下,上一条执行select查询返回的行数,包括show 语句返回的行数。中间可以插入执行dml语句,返回依然是上一条select语句返回的行数。
使用sql_calc_found_rows 与 found_rows()组合,可以查询到去除limit限制后返回的总行数。
1.与 SQL_CALC_FOUND_ROWS 合用,返回满足条件的行数,应用where,但会忽略LIMIT。
SELECT SQL_CALC_FOUND_ROWS * FROM student WHERE Gender='男' LIMIT 1;-- 查1行
SELECT FOUND_ROWS();-- 返回表中所有 Gender='男' 的总行数 8
2.不加 SQL_CALC_FOUND_ROWS 的时候,返回查询返回的总数据行数,包含LIMIT。

ROW_COUNT():
row_count()查询同一连接上一条dml语句返回的行数,中间不能穿插其他select语句。如果有其他语句,结果返回-1。
UPDATE student SET Gender='1' WHERE id<=3;
SELECT ROW_COUNT();-- 返回3
如果Gender本来就是1,那么Mysql不会更改,则ROW_COUNT()不会计数,比如第一条、第二条的Gender本来就是1,那最后返回1。

标签:COUNT,返回,ROWS,Gender,MySQL,FOUND,ROW
From: https://www.cnblogs.com/xsj1989/p/18188716

相关文章

  • MySQL 死锁案例
    记一次MySQL死锁分析处理过程,聊聊我的思路。前车之鉴,后事之师。以一个例子为切入点一、问题背景某业务模块反馈数据库最近出现过几次死锁告警的情况,本文总结了这次死锁排查的全过程,并分析了导致死锁的原因及解决方案。希望给大家提供一个死锁的排查及解决思路。基础环境:......
  • Mysql中的索引下推优化
    当索引下推开启后,如果where子句中的部分条件可以通过索引中的列来进行过滤,MySQL会把这部分条件也下推给存储引擎。这里的关键是下推的这部分条件用于过滤而非定位数据。直接看官方的例子:SELECT*FROMpeopleWHEREzipcode='95054'ANDlastnameLIKE'%etrunia%'ANDad......
  • 厉害了!12秒将百万数据通过EasyExcel导入MySQL数据库中
    一、写在开头我们在上一篇文章中提到了通过EasyExcel处理Mysql百万数据的导入功能(一键看原文),当时我们经过测试数据的反复测验,100万条放在excel中的数据,4个字段的情况下,导入数据库,平均耗时500秒,这对于我们来说肯定难以接受,今天我们就来做一次性能优化。二、性能瓶颈分析一般的......
  • MySQL5.7安装详细过程--window系统
    一:MySQL5.7安装详细过程--window系统1.1、下载MySQL5.7安装包https://downloads.mysql.com/archives/community/1.2、将文件解压到盘符中你可以解压到你想解压的位置,放在C或其他盘符都可以。1.3、配置MySQL的环境变量由于我们下载的不是exe或者msi版本,不能直接双击安装,所以需要手......
  • Docker 部署MySQL
    1、创建配置目录mkdir-pMySQL目录/conf2、切换到配置目录cdMySQL目录/conf3、创建配置文件vimmy.cnf[client]#设置mysql客户端连接服务端时默认使用的端口port=3306default-character-set=utf8mb4[mysql]#设置mysql客户端默认字符集default-character-set=ut......
  • MySQL Join原理分析(缓冲块嵌套与索引嵌套循环)
    场景假设A表(1000条数据)leftjoinB表(1000条数据)。嵌套循环(Nested-LoopJoin)极简概括:顾名思义多层循环叠加,由于MySQL条数数量有限,所用for循环而不用while,在MySQL中就是多层for循环。性能问题:MySQL使用这种作为join方式最简单,A表joinB表每次join查询都需要一百万次内部关联,每次......
  • java MySQL的in查询两个字段同时相等的多个数据查询
    在Java中想进行下面的查询,不想写循环一条条查selectid,name,address,age fromuserswherename='A' and address='addr1'selectid,name,address,age fromuserswherename='B' and address='addr2'selectid,name,address,age fromusers......
  • 贝壳面试:MySQL联合索引,最左匹配原则是什么?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • MySQL中的一些其他比较符
    一、在两者之间(可以看成数学中的闭区间)BETWEEN...AND...在两个值之间(包含)SELECTLAST_NAME,SALARYFROMemployeesWHERESALARYBETWEEN3500AND6000;二、匹配一个任意值列表IN(set)使用该关键字之后会给定一个列表,所取的值都在这个列表中间,在查询数据的时候,会对这个set中......
  • mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nona
    官方解释:ONLY_FULL_GROUP_BY是MySQL数据库提供的一个sql_mode,通过这个sql_mode来保证,SQL语句“分组求最值”合法性的检查.这种模式采用了与Oracle、DB2等数据库的处理方式。即不允许selecttargetlist中出现语义不明确的列.对于用到GROUPBY的select语句,查出......