読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Oracleのグループ関数

Oracle
<スポンサーリンク>

SQLの勉強をしたのでまとめ。

【オラクル認定資格試験対策書】ORACLE MASTER Bronze[11g SQL基礎?](試験番号:1Z0-051)完全詳解+精選問題集 (オラクルマスタースタディガイド)

【オラクル認定資格試験対策書】ORACLE MASTER Bronze[11g SQL基礎?](試験番号:1Z0-051)完全詳解+精選問題集 (オラクルマスタースタディガイド)

  • 作者: エディフィストラーニング株式会社西昭彦,飯室美紀,鈴木佐和,岡野友紀
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2011/07/01
  • メディア: 単行本
  • 購入: 4人 クリック: 11回
  • この商品を含むブログ (3件) を見る

■グループ関数
グループ関数とは、複数件の入力データをグループ化して、集計処理を行った結果を1つだけ戻す関数のこと。

グループ関数に指定できるオプション
・DISTINCT:重複した値は1回だけ処理する
・ALL:重複した値を含む、すべての値を処理する。デフォルト値。

COUNT関数:取り出されたデータの件数を戻す関数
引数)
ALL:重複した値をそれぞれ1件としてカウントしたデータの件数。NULL値は含まれない。
※デフォルトはALLとなる
DISTINCT:重複した値を1回だけカウントしたデータの件数(NULL値は含まれない)

例)

SELECT COUNT(*) , COUNT(comm), COUNT(job), COUNT(DISTINCT job) FROM employees;

MAX関数:最大値を戻す関数
MIN関数:最小値を戻す関数
例)

SELECT MAX(sal), MIN(sal) FROM employees;

AVG関数:平均値を戻す関数。
SUM関数:合計値を戻す関数。
例)

SELECT AVG(sal), SUM(sal) FROM employees;

Oracleで、標準偏差を求めるのがSTDDEV関数。
分散を求めるのがVARIANCE関数。

AVG,SUM,STDDEX,VARANCE関数の引数には数値型(NUMBER)のみ指定できる。

グループ関数では、COUNT関数の引数に「*」を指定した場合を除き、NULL値を無視して集計処理を行う。
AVG関数でも、NULLになった値は無視されて分母にカウントされないので、平均を求めるときは要注意。

・NULLを0に置き換えて集計するサンプル

SELECT AVG(NVL(comm,0)),SUM(NVL(comm,0)) FROM employees;

グループ関数ではWHERE句は使用できない。
グループ関数で使えるのはSELECT句、ORDER BY句、HAVING句である。


GROUP BY句は行をグループ化することができるできる。
GROUP BY句は必ずWHERE句の後ろ、かつORDER BY句の前に指定する。

GROUP BYの基本構文

GROUP BY 列名[,列名]