Oracle12に集計関数のAVG関数で平均値を計算する方法

環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production

操作方法
1.レコード全体から平均値を求めます
書式
SELECT AVG(列名) FROM テーブル名;

SQL構文

SELECT AVG(SALARY) FROM USER_TBL;

2.グループごとの平均値を求めます
書式
SELECT 列1,AVG(列2) FROM テーブル名 GROUP BY 列1;

使用例
USER_TBL表でDEP_IDでグループ化し、SALARY列の平均値を計算します。
SQL構文

SELECT
  DEP_ID
  , AVG(SALARY) 
FROM
 USER_TBL 
GROUP BY
  DEP_ID; 

3.重複値を除いた平均値を求めます
書式
SELECT AVG(DISTINCT カラム名) FROM テーブル名;
重複値を除く場合は、AVG関数でDISTINCTを指定します。

使用例
USER_TBL表で列SALARYの重複値を除いて、平均値を求めます

SQL構文

SELECT AVG(DISTINCT SALARY) FROM USER_TBL;

 

Oracle 12c

Posted by arkgame