MySQL學習筆記05__分組函數

細枝末節

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(字段)高
相關文章
相關標籤/搜索