在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、学生的平均成绩等等,ThinkPHP 为这些统计操作提供了一系列的内置方法:
count():统计数据行数
max():统计某个字段最大数据
min():统计某个字段最小数据
avg():统计某个字段平均数据
sum():统计某个字段数据之和
上述统计查询方法都是独立的方法且支持连贯操作。
count()
public function read(){ $Dao = M('User'); // 获取用户数: $userCount = $Dao->count(); // 添加条件: $userCount2 = $Dao->where('uid > 10')->count(); $this->assign('userCount', $userCount); $this->display(); }
max()
方法用于统计某个字段最大数据。
统计用户最大积分例子:
$maxScore = $Dao->max('score');
min()
统计某个字段最小数据。
获取积分大于 0 的用户的最小积分例子:
$minScore = $Dao->where('score>0')->min('score');
avg()
统计某个字段平均数据。
获取用户的平均积分例子:
$avgScore = $Dao->avg('score');
sum()
统计某个字段数据之和。
统计积分排名前 10 名用户的积分之和:
$sumScore = $Dao->order('score DESC')->limit('10')->sum('score');