首頁 >資料庫 >mysql教程 >如何計算 MySQL 查詢中超出 LIMIT 的行數?

如何計算 MySQL 查詢中超出 LIMIT 的行數?

Susan Sarandon
Susan Sarandon原創
2024-11-12 09:43:01373瀏覽

How to Count Rows Beyond LIMIT in MySQL Queries?

在MySQL 查詢中計算超出LIMIT 的行數

問題:

執行MySQL查詢時使用LIMIT子句,取得表格中符合以下條件的總行數可能會很困難:查詢條件。在使用複雜的 JOIN 語句和 WHERE 子句時尤其如此。

解決方案:

為了解決這個問題,MySQL 提供了 SQL_CALC_FOUND_ROWS 關鍵字。使用此關鍵字時,它指示 MySQL 計算在沒有 LIMIT 子句的情況下檢索的總行數。

範例:

考慮以下 MySQL query:

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

要取得不含 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();

第一個語句計算滿足查詢條件的總行數,而第二個語句則從FOUND_ROWS() 函數擷取總行數。

以上是如何計算 MySQL 查詢中超出 LIMIT 的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn