sql中提供聚合函數能夠用來統計,求和,求最值等sql
那麼聚合函數有哪些呢?函數
COUNT 統計行數量spa
SUM 求某一列的和blog
AVG 求某一列的平均值排序
MAX 求某一列的最大值class
MIN 求某一列的最小值im
下面給出一些具體的用法d3
首先建立數據表以下:統計
執行列、行計數(count):數據
COUNT 標準格式:
SELECT COUNT(<計數規範>) FROM 表名;
其中,計數規範包括
-* : 計算全部選擇的的行,包括NULL的值
- ALL列名 : 計數全部指定列的非空值,若是不寫,就默認爲ALL
- DISTINCT 列名 : 計數指定的列的惟一非空值
例如,計算班裏有多少學生:
這樣就出錯了,會把null值也算進來,能夠這樣來計算:
也能夠加入條件篩選,例如計算女生的人數
也能夠計算班級數目,須要用到DISTINCT:
DISTINCT 即去重,若是不加DISTINCT返回的結果會是4
返回列合計值(SUM):
注:SUM 只有 ALL 和 DISTINST 倆種計數規範, 並無*
計算學生的年齡之和:
返回列的平均值(AVG):
計算學生年齡的平均值
返回最大值/最小值(MAX/MIN):
求年齡最大的學生(最小年齡同理)
注:這裏只能求最大值,不能查詢學生的具體信息,須要用到子查詢
數據分組 (GROUP BY )
SQL數據能夠按照列名分組,配合聚合函數十分實用
好比咱們想知道每一個班裏有幾個學生,咱們可使用 GTOUP BY 配合 COUNT 使用:
注意:由於聚合函數經過做用於一組數據而只返回一個單個值,所以,在SELECT語句中出現的元素要麼爲一個聚合函數的輸入值,要麼爲GROUP BY語句的參數,不然會出錯。
HAVING 過濾條件