在 MySQL 查詢中使用「LIMIT」時如何取得總行數?

DDD
發布: 2024-11-13 05:50:02
原創
636 人瀏覽過

How Do You Get the Total Row Count When Using `LIMIT` in MySQL Queries?

儘管在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板