使用LIMIT 計算MySQL 查詢中的行數
使用LIMIT 子句執行MySQL 查詢時,使用者經常面臨同時取得總數的挑戰符合查詢條件的行數。這是由於 LIMIT 的限制,即僅傳回特定數量的行。
為了克服此限制,可以採用一種稱為子查詢方法的技術。為此,請將以下語法合併到您的查詢中:
SELECT SQL_CALC_FOUND_ROWS ...;
此語句啟動 SQL 層級的行計數,並將計數儲存在暫存變數中。
要檢索計數,執行後續查詢:
SELECT FOUND_ROWS();
例如,考慮以下查詢:
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
要取得過濾的行和總計數,請使用以下查詢:
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();
此技術使用戶能夠使用LIMIT 子句有效地計算查詢中的行數,而無需訴諸其他查詢。
以上是如何在 MySQL 查詢中計算帶有 LIMIT 的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!