首页  >  文章  >  数据库  >  如何在 MySQL 中使用 LIMIT 来计算总行数?

如何在 MySQL 中使用 LIMIT 来计算总行数?

Patricia Arquette
Patricia Arquette原创
2024-11-12 00:02:03845浏览

How to Count Total Rows While Using LIMIT in MySQL?

在 MySQL 中使用 SELECT 和 LIMIT 计算行数

在 MySQL 中,LIMIT 子句可用于限制返回的行数询问。但是,使用 LIMIT 时,获取表中满足查询条件的总行数可能会很困难。

考虑以下查询,该查询从两个表之间的联接检索前 10 行,table1和table2,基于某些条件(cond1,cond2,...,condN):

SELECT 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

为了检索满足这些条件的总行数而不发出另一个不带LIMIT的查询,MySQL提供了SQL_CALC_FOUND_ROWS 关键字。通过将 SQL_CALC_FOUND_ROWS 合并到初始查询中,MySQL 在应用 LIMIT 子句之前计算总行数:

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

通过组合这两个查询,您可以限制返回的行数并检索总行数,而不需要额外的查询。

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

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