admin 管理员组文章数量: 887021
分组
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(),AVG()等)的字段连用
5.join多表连接
是为了一个数组中显示几个表中的内容
4.1两个表user表和test表
user表的Id和test表的uid是相同的,是公共的条件(join后面写的),每一个数组里面都有了phone1也就是user表的phone,join的用法就是连起来了
$res=Db::table('user')->alias('u')->join('test t','t.uid=u.Id')->where('u.Id',1)->field('u.phone as phone1,t.*')->select();
print_r($res);
Array
([0] => Array([phone1] => 123[Id] => 1[uid] => 1[phone] => 11[img] =>[nowTime] =>)[1] => Array([phone1] => 123[Id] => 2[uid] => 1[phone] => 1[img] =>[nowTime] =>)[2] => Array([phone1] => 123[Id] => 3[uid] => 1[phone] => 111[img] =>[nowTime] =>)[3] => Array([phone1] => 123[Id] => 4[uid] => 1[phone] => 1111[img] =>[nowTime] =>)[4] => Array([phone1] => 123[Id] => 5[uid] => 1[phone] => 11111[img] =>[nowTime] =>)[5] => Array([phone1] => 123[Id] => 6[uid] => 1[phone] => 1111[img] =>[nowTime] =>)[6] => Array([phone1] => 123[Id] => 7[uid] => 1[phone] => 14111[img] =>[nowTime] =>))
本文标签: 分组
版权声明:本文标题:分组 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1693531772h227619.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论