php - mySQL/Codeigniter 中返回的行数(不受 LIMIT 子句影响)

标签 php mysql sql codeigniter activerecord

我有一个包含 LIMIT 子句的查询,该子句一次返回 10 个结果,总共 100 个结果。我还想要计算结果总数(即 100)。我是否必须在没有 LIMIT 子句的情况下进行第二次查询,然后计算返回的行数?我不想这样做,因为查询非常昂贵。

最佳答案

select sql_calc_found_rows * from table .... limit x;

select found_rows();

看看说明书

http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows

说的是:

If you are using SELECT SQL_CALC_FOUND_ROWS, MySQL must calculate how many rows are in the full result set. However, this is faster than running the query again without LIMIT, because the result set need not be sent to the client.

关于php - mySQL/Codeigniter 中返回的行数(不受 LIMIT 子句影响),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5954772/

相关文章:

MySQL并发从行中选择

mysql - 获取上一个工作日 + MySQL

mysql - 如何按具有空值的表进行分组

PHP 和 mySQL "UPDATE"实际上没有更新

php - 从数据库中选择所有以小写字母开头的字符串

PHP:使用foreach从多维数组中删除元素(按键)

mysql - 使用 django 上的查询创建表

PHP 将默认参数传递给函数

mysql - 在没有索引的 mysql 5.0 中运行时间良好,但在 5.1 中则不然

sql - to_timestamp——以 04 或 05 结束