この記事では、SQLにおける「GROUP BY」を使った集約処理について詳しく解説します。初心者から中級者まで、GROUP BYの使い方やそれに関連する機能、実用例についても触れています。
目次
GROUP BYとは?
GROUP BY句は、SQLでテーブルからデータを取得する際に、特定のカラムの値ごとに行をまとめるための機能です。これにより、データの集約や分析が行いやすくなります。
基本構文
基本的なGROUP BYの構文は以下のようになります。
SELECT column1, column2, aggregate_function(column3)
FROM table_name
GROUP BY column1, column2;
実際の使用例
例えば、社員テーブル(Employee)から部門ごとの平均給与を計算するケースを考えましょう。
社員ID | 名前 | 部門 | 給与 |
---|---|---|---|
1 | 田中 | 営業 | 300,000 |
2 | 山田 | 営業 | 320,000 |
3 | 佐藤 | エンジニア | 450,000 |
このテーブルから部門ごとの平均給与を求めるSQLは以下のようになります。
SELECT 部門, AVG(給与)
FROM Employee
GROUP BY 部門;
GROUP BYの使い方
単一カラムでのGROUP BY
最も基本的な形は、一つのカラムでグループ化する形です。以下は、商品テーブルからカテゴリごとの最高価格を取得するSQLです。
商品ID | 商品名 | カテゴリ | 価格 |
---|---|---|---|
1 | リンゴ | フルーツ | 100 |
2 | バナナ | フルーツ | 150 |
3 | トマト | 野菜 | 80 |
SELECT カテゴリ, MAX(価格)
FROM 商品
GROUP BY カテゴリ;
複数カラムでのGROUP BY
GROUP BYは複数のカラムでのグループ化も可能です。この場合、指定した複数のカラムの組み合わせごとに集約が行われます。
SELECT カテゴリ, ブランド, COUNT(*)
FROM 商品
GROUP BY カテゴリ, ブランド;
まとめ
GROUP BYは、SQLで非常に頻繁に用いられる重要な機能です。特定のカラムでデータを集約し、その集約されたデータに対して各種の関数を適用できます。基本的な使い方から応用例まで、しっかりと理解して活用していきましょう。
created by Rinker
¥4,554
(2024/11/04 10:23:49時点 Amazon調べ-詳細)
コメント