使用 LIMIT 计算 MySQL 查询中的行数
使用 LIMIT 子句运行 MySQL 查询时,用户经常面临同时获取总数的挑战符合查询条件的行数。这是由于 LIMIT 的限制,即仅返回特定数量的行。
为了克服此限制,可以采用一种称为子查询方法的技术。为此,请将以下语法合并到您的查询中:
SELECT SQL_CALC_FOUND_ROWS ...;
此语句启动 SQL 级别的行计数,并将计数存储在临时变量中。
要检索计数,运行后续查询:
SELECT FOUND_ROWS();
例如,考虑以下内容查询:
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
要获取过滤的行和总计数,请使用以下查询:
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();
此技术使用户能够使用 LIMIT 子句有效地计算查询中的行数无需诉诸额外的查询。
以上是如何在 MySQL 查询中计算带有 LIMIT 的行数?的详细内容。更多信息请关注PHP中文网其他相关文章!