对一个有 29 条记录的表进行如下操作:

  • SELECT COUNT( sys_uia_account.ID ) FROM sys_uia_account结果 29
  • SELECT COUNT( sys_uia_account.ID ) FROM sys_uia_account LIMIT 10结果 29
  • SELECT COUNT( sys_uia_account.ID ) FROM sys_uia_account LIMIT 10 , 10没有结果

看来以后使用 COUNT(*) 的时候不能同时使用 LIMIT offset, ROW_COUNT 这种表达方式了。

PS:如果统计全表记录,使用下面的方法会更加快捷:

1
2
3
SELECT SQL_CALC_FOUND_ROWS *
  FROM sys_uia_account;
SELECT FOUND_ROWS( ) ;

唯一需要注意的就是,这两个查询必须在一起进行,因为 SQL_CALC_FOUND_ROWS 不对结果进行任何缓存。