除了單行函數之外, 在Oracle中還存在另一類函數,那就是oracle聚合函數,下面就讓我們來一起了解一下Oracle聚合函數。
Oracle聚合函數非常有用,主要是用來做些統計、平均之類的工作。
先簡單介紹一下幾個常用的Oracle聚合函數。
Count
用來求有效數據的數量
Max
用來求給定數據中最大的那一個數據
Min
用來求給定數據中最小的那一個數據
Avg
用來求給定數據的平均值
Sum
用來求給定數據的總和
Variance
用來求給定數據的標准差
Stddev
用來求給定數據的方差
先面是一些例子和注意事項。
1 .對於oracle聚合函數,如果給定的值中存在空值的話,Oracle將會直接忽略。
例如,對於scott的schema中有表emp;
Select count(*) from emp;
將會得到結果:
COUNT(*)
———-
14
但是我們注意到在Mgr列中有一列是空值,於是
Select count(mgr) from emp;
將會得到如下結果。
select COUNT(MGR)
———-
13
也就是說,Oracle忽略了其中的空值。
當然對sum,max,min,avg等其他聚合函數都是如此。
例如select sum(comm) from emp;將會自動忽略掉一部分空值的數據。
2.對於聚合函數中可以使用distinct關鍵字來壓縮重復值。
比如我們想統計總共有多少個部門的話
我們如果寫
Select count(deptno) from emp;
將會得到錯誤的結果。因為實際上有很多重復的值也被計算在內。為了找到正確的答案,你應該這樣寫。
Select count(distinct deptno) from emp;