上一篇文章讲解“数据库查询构造器-链式操作的方法四”,本篇文章讲解“数据库查询构造器-聚合查询”。
在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,ThinkPHP为这些统计操作提供了一系列的内置方法,包括:
注意:
1. 聚合方法如果没有数据,默认都是0,聚合查询都可以配合其它查询条件。
2. V5.1.5+版本开始,聚合查询可以支持JSON字段类型。
1.count
1)count的基本使用
新建Index控制器,并新建countFun方法:
预览:
2)count方法传入字段名,根据字段统计
修改Index控制器下的countFun方法:
预览:
注意:
1. count方法通过字段统计时,字段为空,不计数。
2. max
1)max方法的基本使用
在Index控制器中,新建maxFun方法:
预览:
2)关闭强制转换
如果你要获取的最大值不是一个数值,默认会进行强制转换。
修改Index控制器下的maxFun方法:
预览:
使用第二个参数关闭强制转换。
修改Index控制器下的maxFun方法:
预览:
注意:
1. max获取的不是数值时,默认会强制转换为数值,如果要关闭强制转换,将max方法的第二个参数,设置为false。
3. min
1)min的基本使用
在Index控制器中,新建minFun方法:
预览:
2)关闭强制转换
如果你要获取的最小值不是一个数值,可以使用第二个参数关闭强制转换(和max方法用法相同)。
修改Index控制器下的minFun方法:
预览:
注意:
1. min获取的不是数值时,默认会强制转换为数值,如果要关闭强制转换,将max方法的第二个参数,设置为false(与max方法用法相同)。
4. avg
avg获取平均值。
在Index控制器中,新建avgFun方法:
预览:
5. sum
sum获取总和。
在Index控制器中,新建sumFun方法:
预览:
ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章
下一篇讲解“查询构造器-时间查询”
领取专属 10元无门槛券
私享最新 技术干货