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 生日广州男生祝福语简短