-複数行またはテーブル全体行から1つの結果値を返す関数
-GROUP BYを使用してグループ毎、1つの結果に纏められる。
-HAVINGを使用して集計関数を利用した条件比較ができる。
-MIN、MAX関数はすべてのタイプに利用できる。
-一般的に使われている集計関数はAVG、COUNT、MAX、MIN、SUM等がある。
■COUNT:検索された行の数を返す。
SQL> SELECT COUNT(deptno) FROM dept;
COUNT(DEPTNO)
-------------
4
■MAX:コラム値の中で最大値を返す
--salコラム値の中で最大値を返す
SQL> SELECT MAX(sal) salary FROM emp;
SALARY
----------
5000
■MIN:コラム値の中で最小値を返す
--salコラム値の中で最小値を返す
SQL> SELECT MIN(sal) salary FROM emp;
SALARY
----------
800
■AVG:平均値を返す
--30部署の社員平均給与を小数点1桁以下で四捨五入
SQL> SELECT ROUND(AVG(sal),1) salary
2 FROM emp
3 WHERE deptno = 30;
SALARY
----------
1630
■SUM:検索されたコラムの合計を返す。
--30部署の社員給与の合計
SQL> SELECT SUM(sal) salsry
2 FROM emp
3 WHERE deptno = 30;
SALSRY
----------
8150
■STDDEV:標準偏差を返す。
--30部署社員の給与標準偏差を返す
SQL> SELECT ROUND(STDDEV(sal), 3) salary
2 FROM emp
3 WHERE deptno = 30;
SALARY
----------
726.808
■集計関数の例
--部署別社員数、最大給与、最小給与、給与合計、平均給与を検索する
QL> SELECT deptno 部署番号, COUNT(*) 社員数,
2 MAX(sal) 最大給与, MIN(sal) 最小給与,
3 SUM(sal) 給与合計, ROUND(AVG(sal)) 平均給与
4 FROM emp
5 GROUP BY deptno
6 ORDER BY SUM(sal) DESC;
部署番号 社員数 最大給与 最小給与 給与合計 平均給与
--------- ---------- ---------- ---------- ---------- ----------
20 5 3000 800 10875 2175
10 3 5000 1300 8750 2917
30 5 2850 950 8150 1630
0 件のコメント:
コメントを投稿