ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
グループ単位に集計する(SUM、GROUP BY)
スポンサード リンク

グループ単位の集計は、SUM関数とGROUP BYを使用する

SUM( 数値項目 ) 数値項目を合計する
GROUP BY 項目名1,
         [ 項目名2・・・]
項目名 単位でグループ化する


 サンプル表「emp」データ
SQL> select * from emp;

EMP DEP JOB FIRST_NAME LAST_NAME SALARY
--- --- --- ---------- ---------- ----------
E01 D01 J01  名字1     名前1     100
E02 D01 J01  名前2     名前2     250
E03 D02 J02  名前3     名前3     200
E04 D02 J03  名前4     名前4     220
E05 D02 J03  名前5     名前5     130
E06 D03 J03  名前6     名前6     150


例1) 列「dept_id」別に列「salary」を集計します。
SQL> select
  2   dept_id,sum(salary)
  3  from emp
  4   group by(dept_id);

DEP SUM(SALARY)
--- -----------
D03 150
D02 550
D01 350


例2) 列「dept_id」、「job_id」別に列「salary」を集計します。
SQL> select
  2   dept_id,job_id,sum(salary)
  3  from emp
  4   group by(dept_id,job_id);

DEP JOB SUM(SALARY)
--- --- -----------
D02 J03 350
D01 J01 350
D02 J02 200
D03 J03 150


スポンサード リンク


レコード件数を取得する( COUNT )
最大値を取得する( MAX )
平均値を取得する( AVG )
最小値を取得する( MIN )
グループ単位に集計する( SUM、GROUP BY )
グループ単位に集計結果の値から指定条件でレコードを抽出する( HAVING )
ランキング(仮説ランク)を取得する( RANK、DENSE_RANK )
パーセントランク(仮説ランク)を取得する( PERCENT_RANK )
ソートしたレコードの先頭行に集計関数を使用する( KEEP、FIRST )
ソートしたレコードの最終行に集計関数を使用する( KEEP、LAST )
小計を計算する( ROLLUP )
クロス集計する( CUBE )
小計行とグループ化された集計行を区別する( GROUPING、GROUPING_ID )
標準偏差を取得する( STDDEV )
累積標準偏差を取得する( STDDEV_SAMP )
母集団標準偏差を取得する( STDDEV_POP )
分散を取得する( VARIANCE )
累積分散を取得する( VAR_SAMP )
母集団分散を取得する( VAR_POP )
中央値を取得する( MEDIAN )
相関係数を取得する( CORR )

SQL(DML) へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ