什么是聚合函數?
聚合函數對一組值執行計算並返回單一的值。所以聚合函數不能用於where語句,where語句是一種約束,其運行在聚合函數之前。而可以用於having后面。因為having是對結果的過濾。運行在聚合函數之后
聚合函數有什么特點?
- 除了 COUNT 以外,聚合函數忽略空值。
- 聚合函數經常與 SELECT 語句的 GROUP BY 子句一同使用。
- 所有聚合函數都具有確定性。任何時候用一組給定的輸入值調用它們時,都返回相同的值。
- 標量函數:只能對單個的數字或值進行計算。主要包括字符函數、日期/時間函數、數值函數和轉換函數這四類。
常見的聚合函數有哪些?
1、求個數/記錄數/項目數等:count()
2、求某一列平均數 :avg()
如果存在null,計算時會被忽略,可以通過IsNull函數把null轉換成0( avg(IsNull(score,0)))
3、求總和,總分等:sum() --必須為數字列
4、求最大值,最高分,最高工資等:max()
5、求最小值,最低分,最低工資等:min()
聚合函數怎么正確的使用?
1、 select 語句的選擇列表(子查詢或外部查詢);
2、having 子句;
3、compute 或 compute by 子句中等;