Oracle GROUP BY句の使い方|集計処理の基本と応用
Oracleデータベースでは、GROUP BY句を使用して、クエリの結果を特定の列でグループ化することができます。具体的な使用方法は以下の通りです。
SELECT column1, column2, aggregate_function(column3)
FROM table_name
GROUP BY column1, column2;
上の文において、column1とcolumn2はグループ化する列であり、aggregate_functionはグループ化された結果に対して集計操作を行う関数です。例えば、SUM、AVG、COUNTなどが挙げられます。注意すべき点は、集計関数以外の列は、SELECT文の中でGROUP BY句の列や集計関数の引数でなければならないということです。
例えば、生徒の名前、年齢、成績が記載されたstudentsというテーブルがあるとします。その中から、年齢で生徒をグループ分けし、各年齢層ごとの平均成績を計算するために次のようなステートメントを使用できます。
SELECT age, AVG(grade)
FROM students
GROUP BY age;
全ての年齢層の平均点を得ることができます。全ての列をグループ化したい場合は、どの列も指定せずにGROUP BY句を使用すれば、すべての行が1つのグループにまとまります。