聚合查詢
在應用中我們經常會用到一些統計數據,例如當前所有(或者滿足某些條件)的用戶數、所有用戶的最大積分、用戶的平均成績等等,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');