首页 >后端开发 >php教程 >如何通过偏移量和限制确定 MySQL 中的总结果数?

如何通过偏移量和限制确定 MySQL 中的总结果数?

DDD
DDD原创
2024-10-23 10:56:30868浏览

How to Determine the Total Result Count in MySQL with Offset and Limit?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn