首页  >  文章  >  数据库  >  在 MySQL 中使用带有 LIMIT 的 SELECT 时如何计算行数?

在 MySQL 中使用带有 LIMIT 的 SELECT 时如何计算行数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-10 13:09:03451浏览

How to Count Rows When Using SELECT with LIMIT in MySQL?

在 MySQL 中使用带有 LIMIT 的 SELECT 时计算行数

在 MySQL 中,在 SELECT 查询中使用 LIMIT 子句会限制返回的行数。但是,如果您的查询还包含复杂的过滤条件,您可能想知道满足这些条件的总行数,即使它们不是由 LIMIT 返回的。

为了实现此目的,MySQL 提供了 SQL_CALC_FOUND_ROWS修饰符。以下是如何在查询中使用它:

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();

在此查询中:

  • 第一个 SELECT 语句使用 SQL_CALC_FOUND_ROWS 指示 MySQL 计算符合条件的总行数.
  • 第二个 SELECT 语句使用 FOUND_ROWS() 函数检索计算的行count.

此方法允许您在单个数据库查询中检索带有 LIMIT 的分页结果集和完整行计数。请注意,必须在同一连接中且在调用 FOUND_ROWS() 函数之前使用 SQL_CALC_FOUND_ROWS。

以上是在 MySQL 中使用带有 LIMIT 的 SELECT 时如何计算行数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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