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