group by 获取总记录数
时间:2015-01-19 14:05 来源:linux.it.net.cn 作者:IT
sql中有group buy 后如何获取总记录的条数,来生成分页
当然一般情况下我是不推荐这样的分页,如果你真的需要应该是你表结构设计有问题
1、适用于所有情况
$db = new PDO(DSN...);
$db->setAttribute(array(PDO::MYSQL_USE_BUFFERED_QUERY=>TRUE)); #必须开启查询缓存
$rs = $db->query('SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 5,15'); #SQL_CALC_FOUND_ROWS 会忽略limit
$rs1 = $db->query('SELECT FOUND_ROWS()');
$rowCount = (int) $rs1->fetchColumn();
2、适用于没有having的条件情况
select count(distinct(column)) from table #可以用到索引
3、子查询
select count(*) from (select dealer_id from card GROUP BY dealer_id)as tmp;
(责任编辑:IT)
sql中有group buy 后如何获取总记录的条数,来生成分页 当然一般情况下我是不推荐这样的分页,如果你真的需要应该是你表结构设计有问题 1、适用于所有情况 $db = new PDO(DSN...); $db->setAttribute(array(PDO::MYSQL_USE_BUFFERED_QUERY=>TRUE)); #必须开启查询缓存 $rs = $db->query('SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 5,15'); #SQL_CALC_FOUND_ROWS 会忽略limit $rs1 = $db->query('SELECT FOUND_ROWS()'); $rowCount = (int) $rs1->fetchColumn();
2、适用于没有having的条件情况 select count(distinct(column)) from table #可以用到索引
3、子查询 select count(*) from (select dealer_id from card GROUP BY dealer_id)as tmp; (责任编辑:IT) |