新闻中心

统计查询常用函数汇总

作者 / 无忧主机 时间 2014-05-31 16:46:44

小编在平时应用中经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、学生的平均成绩等等,小编为这些统计操作提供了一系列的内置方法: 1. count():统计数据行数 2. max():统计某个字段最大数据 3. min():统计某个字段最小数据 4. avg():统计某个字段平均数据 5. sum():统计某个字段数据之和 上述统计查询方法都是独立的方法且支持连贯操作。 count() count() 方法用于统计数据行数。 例子: public function read(){ $Dao = M('User'); // 获取用户数: $userCount = $Dao->count(); // 添加条件: $userCount2 = $Dao->where('uid > 10')->count(); $this->assign('userCount', $userCount); $this->display(); } 上例中,两个查询语句实际执行的 SQL 为: SELECT COUNT(*) AS tp_count FROM user LIMIT 1 SELECT COUNT(*) AS tp_count FROM user WHERE uid > 10 LIMIT 1 可以在模板中直接输出得到的统计数据: 共有用户 {$userCount} 人。 max() max() 方法用于统计某个字段最大数据。 统计用户最大积分例子: $maxScore = $Dao->max('score'); 实际执行的 SQL 为: SELECT MAX(score) AS tp_max FROM user LIMIT 1 min() min() 统计某个字段最小数据。 获取积分大于 0 的用户的最小积分例子: $minScore = $Dao->where('score>0')->min('score'); 实际执行的 SQL 为: 实际执行SQL:SELECT MIN(score) AS tp_min FROM user WHERE score>0 LIMIT 1 avg() avg() 统计某个字段平均数据。 获取用户的平均积分例子: $avgScore = $Dao->avg('score'); 实际执行的 SQL 为: SELECT AVG(score) AS tp_avg FROM user LIMIT 1 sum() sum() 统计某个字段数据之和。 统计积分排名前 10 名用户的积分之和: $sumScore = $Dao->order('score DESC')->limit('10')->sum('score'); 实际执行的 SQL 为: SELECT SUM(score) AS tp_sum FROM user ORDER BY score DESC LIMIT 10 所有的统计查询如 select() 方法一样。均支持连贯操作的使用,根据实际情况添加不同的查询条件。

本文地址:https://www.51php.com/others/14361.html

1
1
1
1
1
1
1