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