mysql found_row()使用详解

 更新时间:2016年05月12日 10:11:17   投稿:hebedich  
在参考手册中对found_rows函数的描述是: it is desirable to know how many rows the statement would have returned without the LIMIT. 也就是说,它返回值是如果SQL语句没有加LIMIT的情况下返回的数值。

mysql found_row()用于获取Select得到的行数,比如有段sql需要取出一张表的前10行,同时又需要取出符合条件的总数。 本文章向大家介绍mysql found_row的用法,感兴趣的可以参考一下。

mysql 4.1中新增了FOUND_ROWS()函数,这个函数的说明是这样的:

复制代码 代码如下:

For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clause
A SELECT statement may include a LIMIT clause to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the LIMIT, but without running the statement again. To obtain this row count, include a SQL_CALC_FOUND_ROWS option in the SELECT statement, and then invoke FOUND_ROWS() afterward:

比如说有段sql需要取出一张表的前10行,同时又需要取出符合条件的总数。这在某些分页操作中很常见

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;

在上一查询之后,你只需要用FOUND_ROWS()就能获得查询总数,这个数目是抛掉了LIMIT之后的结果数:

SELECT FOUND_ROWS();

其中第一个sql里面的SQL_CALC_FOUND_ROWS不可省略,它表示需要取得结果数,也是后面使用FOUND_ROWS()函数的铺垫。

记一次使用中遇到的问题的解决方法

写MySQL分页使用了发现FOUND_ROWS总是返回1,实际记录绝不止1条。SQL语句如下:

select sql_calc_found_rows * from actionlist where A_ID > 0 limit 10;
select FOUND_ROWS();

网上查找中文资料,没有解决。英文资料找到问题原因

使用MySQL Workbech出现了上述问题。使用MySQL Command Line Client执行同样SQL语句返回值OK!

要是遇到同样问题,试试!

相关文章

  • mysql安装报错unknown variable ‘mysqlx_port=0.0‘简单解决过程

    mysql安装报错unknown variable ‘mysqlx_port=0.0‘简单解决过程

    这篇文章主要给大家介绍了关于mysql安装报错unknown variable ‘mysqlx_port=0.0‘的解决过程,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-08-08
  • MySQL之临时表的实现示例

    MySQL之临时表的实现示例

    MySQL临时表是存储在内存或者磁盘上的临时数据表,它们的生命周期只限于当前数据库会话,临时表的创建和使用方式与普通表类似,本文就详细的介绍了MySQL之临时表,感兴趣的可以了解一下
    2023-08-08
  • mysql 8.0.14 安装配置方法图文教程

    mysql 8.0.14 安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.14 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • MySQL通配符模糊搜索匹配的使用关键技巧

    MySQL通配符模糊搜索匹配的使用关键技巧

    这篇文章主要为大家介绍了MySQL通配符模糊搜索匹配的使用关键技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • mysql 8.0.30 降级到 8.0.27的详细步骤

    mysql 8.0.30 降级到 8.0.27的详细步骤

    这篇文章主要介绍了mysql 8.0.30 降级到 8.0.27,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • MySQL Shell的介绍以及安装

    MySQL Shell的介绍以及安装

    这篇文章主要介绍了MySQL Shell的介绍以及安装,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下
    2021-04-04
  • MySQL Administrator 登录报错的解决方法

    MySQL Administrator 登录报错的解决方法

    使用MySQL Administrator 登录,报错: Either the server service or the configuration file could not be found.Startup variable and service section are there for disabled.
    2010-12-12
  • MySQL中的TRUNCATE()函数用法

    MySQL中的TRUNCATE()函数用法

    TRUNCATE(X,D)函数是MySQL中用于数值截取的系统函数,其中X表示数值,D表示保留的小数位数,该函数的特点是直接截取数值,不进行四舍五入,根据D的不同值,操作也有所不同:D大于0时,截取X的小数位;D等于0时,仅保留X的整数部分;D小于0时,整数部分的指定位数用0替换
    2024-10-10
  • 解决mysql.server start执行报错ERROR!The server quit without updating PID file

    解决mysql.server start执行报错ERROR!The server quit without u

    这篇文章主要介绍了解决mysql.server start执行报错ERROR!The server quit without updating PID file问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • CentOS 7下安装与配置MySQL 5.7

    CentOS 7下安装与配置MySQL 5.7

    Mysql5.7和之前版本的MySQL有一些不同,现把CentOS 7下MySQL 5.7安装、配置完整过程记下来,或许对新手来说有用。希望大家能够喜欢
    2018-01-01

最新评论