ThinkPHP5开发连载三十四之数据库查询构造器聚合查询

上一篇文章讲解“数据库查询构造器-链式操作的方法四”,本篇文章讲解“数据库查询构造器-聚合查询”。

在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,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连载为卓象程序员原创,转载请联系卓象程序员

关注卓象程序员,定期发布技术文章

下一篇讲解“查询构造器-时间查询”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180901A0DPGD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券