1.你就记住当SELECT 后 既有 表结构本身的字段,又有需要使用聚合函数(COUNT(),SUM(),MAX(),MIN(),AVG()等)的字段,就要用到group 分组,查询的限定条件里有需要用聚合函数计算的字段时也需要用分组,group最后就是一个类型一条数据了
2.分组的概念:就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。
3.另外顺便介绍下,WHERE和HAVING的区别,WHERE作用于全表,而HAVING只作用于分组的组内。
4.group
$list = Db::name('sum')->field('xx,count(*) as xx_total')->group('xx')->order('xx_total desc')->select();
dump($list);
group以xx分组,数据库中有几个不同的xx数组中就有几条数据
group一般和 COUNT(),SUM(),MAX(),MIN()