先簡單介紹一下幾個常用的oracle中的聚合函數。
Oracle中聚合函數名稱
函數的作用
Count
用來求有效資料的數量
Max
用來求給定資料中最大的那一個資料
Min
用來求給定資料中最小的那一個資料
Avg
用來求給定資料的平均值
Sum
用來求給定資料的總和
Variance
用來求給定資料的标準差
Stddev
用來求給定資料的方差
先面是一些例子和注意事項。
1 .對于聚合函數,如果給定的值中存在空值的話,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;
3.單獨使用oracle中的聚合函數 可能用途還是有限,更經常使用的是聚合函數和group by 關鍵字結合起來使用。這一點我們稍後介紹。