mysql found_row()使用详解
网络编程 2021-07-05 15:28www.168986.cn编程入门
在参考手册中对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!
要是遇到同样问题,试试!
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南