mysql found_row()使用详解
mysqlfound_row()用于获取Select得到的行数,比如有段sql需要取出一张表的前10行,同时又需要取出符合条件的总数。本文章向大家介绍mysqlfound_row的用法,感兴趣的可以参考一下。
mysql4.1中新增了FOUND_ROWS()函数,这个函数的说明是这样的:
ForaSELECTwithaLIMITclause,thenumberofrowsthatwouldbereturnedweretherenoLIMITclause ASELECTstatementmayincludeaLIMITclausetorestrictthenumberofrowstheserverreturnstotheclient.Insomecases,itisdesirabletoknowhowmanyrowsthestatementwouldhavereturnedwithouttheLIMIT,butwithoutrunningthestatementagain.Toobtainthisrowcount,includeaSQL_CALC_FOUND_ROWSoptionintheSELECTstatement,andtheninvokeFOUND_ROWS()afterward:
比如说有段sql需要取出一张表的前10行,同时又需要取出符合条件的总数。这在某些分页操作中很常见
SELECTSQL_CALC_FOUND_ROWS*FROMtbl_name WHEREid>100LIMIT10;
在上一查询之后,你只需要用FOUND_ROWS()就能获得查询总数,这个数目是抛掉了LIMIT之后的结果数:
SELECTFOUND_ROWS();
其中第一个sql里面的SQL_CALC_FOUND_ROWS不可省略,它表示需要取得结果数,也是后面使用FOUND_ROWS()函数的铺垫。
记一次使用中遇到的问题的解决方法
写MySQL分页使用了发现FOUND_ROWS总是返回1,实际记录绝不止1条。SQL语句如下:
selectsql_calc_found_rows*fromactionlistwhereA_ID>0limit10; selectFOUND_ROWS();
网上查找中文资料,没有解决。英文资料找到问题原因
使用MySQLWorkbech出现了上述问题。使用MySQLCommandLineClient执行同样SQL语句返回值OK!
要是遇到同样问题,试试!
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短