mysql查询结果时如何统计记录数目

时间:2015-06-09  来源:技术文章  作者:南京达内

  使用mysql做数据库查询的时候,即希望得到要查询的结果,还希望方便地统计一下查询结果中有多少条记录,应该如何操作?

  一种比较通常的做法:

  $q = "select * from $fromTable where $where limit $start,$pageSize";

  $r = mysql_query($q);

  $q = "select count(*) from $fromTable where $where";

  $cnt = mysql_query($q);

  当然也可以用mysql_num_rows()或者mysql_affected_rows()在第一次查询后得到记录数目,但是这两个函数返回的都是查询后得到的结果的数目,是受到limit语句的影响的。很多情况下,需要知道这条查询语句在没有limit的情况下结果总数,比如分页查询。

  得到查询结果的同时统计记录数目,mysql中本身支持一种更好的方法来达到这种效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数。

  具体应用举例如下:

  mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name

  -> WHERE id > 100 LIMIT 10;

  mysql> SELECT FOUND_ROWS();

  获取更多Web开发知识技巧,请关注【南京达内科技软件教程

  • 上一篇:使用php生成web页面的三种方式
  • 下一篇:PHP开发Web程序的九点经验记录
  • 达内南京新街口中心:南京市玄武区洪武北路121号苏苑大厦5楼  联系电话:025-66610022

    版权所有 南京达内软件有限公司 苏ICP备12008613号-4