細枝末節
1. 本節函數都忽略NULL值,不計算
2. sum()、avg()通常用於處理數值型
3. max()、min()、count()能夠處理任何類型
4. 本節函數可與distinct搭配實現去重運算
5. 和分組函數一塊兒查詢的字段要求是GROUP BY後的字段
函數
sum()
做用
對參數中的值求和
示例
/* 從mytable中查詢全部salary的和 */
SELECT
sum(salary)
FROM
mytable;
avg()
做用
對參數中的值求平均數
示例
/* 從mytable中查詢全部用戶salary的平均值 */
SELECT
avg(salary)
FROM
mytable;
max()
做用
對參數中值求最大值
示例
/* 從mytable中查詢最大的salary */
SELECT
max(salary)
FROM
mytable;
min()
做用
對參數中的值求最小值
示例
/* 從mytable中查詢最小的salary */
SELECT
min(salary)
FROM
mytable;
count()
做用
計算參數中記錄的個數
示例
/* 從mytable中計算出id總個數 */
SELECT
count(id)
FROM
mytable;
備註
1. count()忽略NULL,通常使用count(*)計算全部記錄數
2. count(1)添加一個字段,全部值都是1,統計1的個數即統計全部記錄
3. 效率:
MYISAM引擎:引擎中有內部計數器,能夠直接返回個數,count(*)效率高
INNODB引擎:count(*)與count(1)效率至關,可是都比count(字段)高