-複数行またはテーブル全体行から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 件のコメント:
コメントを投稿