SELECT COUNT(*) from `table` WHERE
......; 查出符合条件的记录总数
SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据
这样的语句可以改成:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE
...... limit M, N;
或SELECT SQL_CALC_FOUND_ROWS name,email FROM `table` WHERE ...... limit M, N;
SELECT FOUND_ROWS();//也相当于一条sql语句,其中就把FOUND_ROWS()当做普通sql语句中的一个字段使用就行,它的值就是上面不包含limit的记录数
这样只要执行一次较耗时的复杂查询可以同时得到与不带limit同样的记录条数
注意:只能在mysql4.0.0以上版本有效
或SELECT SQL_CALC_FOUND_ROWS name,email FROM `table` WHERE ......
SELECT FOUND_ROWS();//也相当于一条sql语句,其中就把FOUND_ROWS()当做普通sql语句中的一个字段使用就行,它的值就是上面不包含limit的记录数
这样只要执行一次较耗时的复杂查询可以同时得到与不带limit同样的记录条数
注意:只能在mysql4.0.0以上版本有效