在我的查询中使用LIMIT时,我需要获得总行数,以避免两次查询。 可能吗?
答案 0 :(得分:14)
使用FOUND_ROWS()
:
对于带有LIMIT子句的SELECT,返回的行数没有LIMIT子句
在SELECT查询后立即使用该语句,该查询需要CALC_FOUND_ROWS
关键字。手册中的示例:
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;
请注意,这会给数据库带来额外的压力,因为它必须每次都找出完整结果集的大小。仅在您需要时使用SQL_CALC_FOUND_ROWS
。