儘管在MySQL 查詢中存在LIMIT,仍查找行數
使用LIMIT 子句的MySQL 查詢允許您限制傳回的行數。但是,如果您還需要檢索與查詢相符的總行數怎麼辦?
使用LIMIT 子句和行計數的查詢
考慮以下查詢,該查詢檢索使用JOIN 的兩個表中的行子集:
SELECT A.ID, A.NAME, B.ID, B.NAME FROM table1 A JOIN table2 B ON ( A.ID = B.TABLE1_ID ) WHERE cond1, cond2, ..., condN LIMIT 10
此查詢將傳回符合指定條件的前10 行。
使用SQL_CALC_FOUND_ROWS 的解決方案
要取得總行數,可以將SQL_CALC_FOUND_ROWS 函式與LIMIT 子句結合使用:
<_c found_rows limit>SELECT SQL_CALC_FOUND_ROWS A.ID, A.NAME, B.ID, B.NAME FROM table1 A JOIN table2 B ON ( A.ID = B.TABLE1_ID ) WHERE cond1, cond2, ..., condN LIMIT 10 SELECT FOUND_ROWS();透過使用此技術,您可以獲得行的有限子集和無需額外查詢的總行數。
以上是在 MySQL 查詢中使用「LIMIT」時如何取得總行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!