計算 MySQL 查詢傳回的行數對於各種資料庫操作至關重要。本文針對此任務提供了全面的解決方案,適合不同的場景和技術。
取得總行數的最簡單方法number of rows 是迭代結果並增加計數器。然而,MySQL 提供了一個內建函數 mysql_num_rows,它提供了直接的行計數。例如,在PHP 中,您可以如下使用mysqli_num_rows:
<code class="php"><?php $result = mysqli_query($link, "SELECT * FROM table1"); $num_rows = mysqli_num_rows($result); echo "$num_rows Rows\n"; ?></code>
要對滿足特定條件的行進行計數,請使用COUNT(*) 函數。例如,要對bar 等於'value' 的行進行計數:
SELECT COUNT(*) FROM foo WHERE bar= 'value';
如果使用LIMIT 子句但要在不應用限制的情況下了解總行數,請使用SQL_CALC_FOUND_ROWS,然後使用SELECT FOUND_ROWS()。例如:
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE bar="value" LIMIT 10; SELECT FOUND_ROWS();</code>
但是,請注意,SQL_CALC_FOUND_ROWS 從 MySQL 8.0.17 開始已棄用,並將在更高版本中刪除。建議使用單獨的查詢來計算計數。
對於大型表,可以運行單獨的查詢來進行計數效率低下。相反,請考慮透過執行一次更簡單的查詢來快取計數,並在啟動更複雜的查詢之前重複使用它。
以上是如何有效計算 MySQL 查詢中的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!