mysql found_row()用于獲取Select得到的行數,比如有段sql需要取出一張表的前10行,同時又需要取出符合條件的總數。 本文章向大家介紹mysql found_row的用法,感興趣的可以參考一下。
mysql 4.1中新增了FOUND_ROWS()函數,這個函數的說明是這樣的:
比如說有段sql需要取出一張表的前10行,同時又需要取出符合條件的總數。這在某些分頁操作中很常見
| SELECT SQL_CALC_FOUND_ROWS * FROM tbl_nameWHERE 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!
要是遇到同樣問題,試試!
新聞熱點
疑難解答