MySQL 分页查询时返回总行数

在分页查询时,通常要执行一次count(*)来查询所有行数,再执行一次limit来查询指定行数,但MySQL中提供了FOUND_ROWS()函数可返回所有行数,方法如下:

先在查询中加关键字SQL_CALC_FOUND_ROWS

SELECT SQL_CALC_FOUND_ROWS * FROM table_name WHERE id > 100 LIMIT 10;

再执行

SELECT FOUND_ROWS();

这样FOUND_ROWS()会返回所有行数,而非LIMIT时的行数。


 

参考资料:https://dev.mysql.com/doc/refman/5.6/en/information-functions.html#function_found-rows