天天看點

oracle中的聚合函數count、max、min、sum、avg等等

先簡單介紹一下幾個常用的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 關鍵字結合起來使用。這一點我們稍後介紹。