聚合查询
最后更新于:2022-04-01 21:21:35
|版本|功能调整|
|---|---|
|5.0.14|max和min方法增加第二个参数用于设置是否强制转换数字|
在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,ThinkPHP为这些统计操作提供了一系列的内置方法,包括:
| 方法 | 说明 |
| --- | --- |
| count | 统计数量,参数是要统计的字段名(可选) |
| max | 获取最大值,参数是要统计的字段名(必须) |
| min | 获取最小值,参数是要统计的字段名(必须) |
| avg | 获取平均值,参数是要统计的字段名(必须) |
| sum | 获取总分,参数是要统计的字段名(必须) |
用法示例:
获取用户数:
~~~
Db::table('think_user')->count();
// 助手函数
db('user')->count();
~~~
或者根据字段统计:
~~~
Db::table('think_user')->count('id');
// 助手函数
db('user')->count('id');
~~~
获取用户的最大积分:
~~~
Db::table('think_user')->max('score');
// 助手函数
db('user')->max('score');
~~~
获取积分大于0的用户的最小积分:
~~~
Db::table('think_user')->where('score>0')->min('score');
// 助手函数
db('user')->where('score>0')->min('score');
~~~
获取用户的平均积分:
~~~
Db::table('think_user')->avg('score');
// 助手函数
db('user')->avg('score');
~~~
统计用户的总成绩:
~~~
Db::table('think_user')->sum('score');
// 助手函数
db('user')->sum('score');
~~~
';