使用MySQL 偏移量和限制確定結果總數
使用偏移量和限制實現分頁時,確定結果總數至關重要計算所需的頁數。雖然執行查詢兩次(一次有限制,一次沒有限制)可能看起來多餘,但有更好的方法。
MySQL 提供了一種無需使用 SQL_CALC_FOUND_ROWS 進行額外查詢即可擷取結果總數的方法。透過在主查詢之前新增此關鍵字,MySQL 會計算在沒有 LIMIT 子句的情況下傳回的總行數。
以下是一個範例:
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM directory_listing WHERE category_id = <category_id> LIMIT offset, limit;</code>
執行此查詢後,您可以使用以下程式碼來擷取結果總數:
$query = $this->db->query('SELECT FOUND_ROWS() AS total_count;'); $total_count = $query->first_row()->total_count;
此方法允許您有效地檢索總計數,而無需執行額外的查詢。透過利用 SQL_CALC_FOUND_ROWS,您可以提高分頁功能的效能和資源利用率。
以上是如何透過偏移量和限制來確定 MySQL 中的總結果數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!