mysql 中 SQL_CALC_FOUND_ROWS 功能

时间:2024-01-08 12:59:44
mysql 数据库不符合sql标准的地方不少,比如TIMESTAMP列的处理,字符串比较默认大小写不敏感什么的。
有时候这些问题会让你很郁闷,尤其是对从其它数据库转过来的人来说。
但有些功能倒也蛮有趣。 今天我就发现一个:
SQL_CALC_FOUND_ROWS。
SELECT SQL_CALC_FOUND_ROWS ... FROM ... WHERE LIMIT ...
所谓SQL_CALC_FOUND_ROWS是指在执行带LIMIT的查询时,附带统计一下如果不加LIMIT的话将会输出多少条结果。

在得到数据后,通过FOUND_ROWS()可以得到不带LIMIT的结果数:
SELECT FOUND_ROWS()