注:sql_calc_found_rows 是比较慢的,sql执行的时间可能会达到count的10倍那么夸张,数据越大,相差时间越长,所以除了特定情况最好别使用 mysql 的 sql_calc_found_rows 来获取总行数。
group by 后的数据是每一组一行记录,统计分组后的总的记录数不能用count,这时候sql_calc_found_rows就派上用场了。
用法:
1、在 select 语句中加入 sql_calc_found_rows 选项
select sql_calc_found_rows * from table group by column_name;
2、执行下面语句返回 group by 后的总记录数
select found_rows();
如下图
found_rows() 得到的数字是临时的,执行下一条语句就会失效。