首頁  >  文章  >  資料庫  >  如何在 MySQL 查詢中計算帶有 LIMIT 的行數?

如何在 MySQL 查詢中計算帶有 LIMIT 的行數?

DDD
DDD原創
2024-11-12 11:17:02709瀏覽

How to Count Rows with LIMIT in MySQL Queries?

使用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中文網其他相關文章!

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