group by 获取总记录数


 

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;

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM