使用limit查询的同时取得总的记录数:SQL_CALC_FOUND_ROWS和FOUND_ROWS()

SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:

SELECT SQL_CALC_FOUND_ROWS * FROM tableName where name like '%zhang%' limit 10;
SELECCT FOUND ROWS();

 第二个SELECT将返回第一条SELECT如果没有LIMIT时返回的行数。

 如果在前一条语句中没有使用SQL_CALC_FOUND_ROWS选项,FOUND_ROWS()将返回前一条语句实际返回的行数。



你可能感兴趣的:(sql)