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!
要是遇到同样问题,试试!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 宝可梦大集结国服公测有多少只宝可梦 大集结国服宝可梦一览
- 国外渲染大佬《FF7RE》新图赏
- 《夺宝奇兵》Xbox长实机公布:游戏玩法全面展示
- 《剑星》X《尼尔》联动官方图赏:永远看不腻的2B
- 甲子慧.2015-最爱【乾坤唱片】【WAV+CUE】
- 潘美辰.1993-找一个雨天【蓝与白】【WAV+CUE】
- 黄舒骏.1997-非常原创精神(南方金点系列)2CD【南方】【WAV+CUE】
- Yiruma李闰珉《怀旧十周年纪念精选集》【WAV分轨】
- 晓欣《醉爱DSD》[WAV+CUE]
- 【爵士萨克斯】RichardElliot-2016-SummerMadness【24bit-FLAC】
- 谭艳《最走心好声音HQ》马兰士德国黑胶[低速原抓WAV+CUE][1G]
- 群星《第6届 2010十大发烧唱片精选》 2CD [WAV+CUE][1.5G]
- 李梦瑶&张玮伽&谭艳&孙露 -《发烧四大天后2CD》DTS丽声 2CD [WAV分轨][2G]
- 原神海浪中的莎孚旁的幻写灵解锁方法
- 【阴阳师手游】原神5.2联动介绍