时间:2021-07-01 10:21:17 帮助过:188人阅读
mysql found_row()用于获取Select得到的行数,比如有段sql需要取出一张表的前10行,同时又需要取出符合条件的总数。 本文章向大家介绍mysql found_row的用法,感兴趣的可以参考一下。
mysql 4.1中新增了FOUND_ROWS()函数,这个函数的说明是这样的:
比如说有段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!
要是遇到同样问题,试试!