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

时间:2011-05-10 18:39:23

标签: php mysql sql codeigniter activerecord

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

2 个答案:

答案 0 :(得分:3)

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

说:

  

如果您使用的是SELECT SQL_CALC_FOUND_ROWS,MySQL必须计算完整结果集中的行数。但是,这比不使用LIMIT再次运行查询要快,因为结果集不需要发送到客户端。

答案 1 :(得分:2)

在你的mysql上执行第二个查询:

SELECT FOUND_ROWS();