SQLのGROUP BYを使った集約処理の完全ガイド

この記事では、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で非常に頻繁に用いられる重要な機能です。特定のカラムでデータを集約し、その集約されたデータに対して各種の関数を適用できます。基本的な使い方から応用例まで、しっかりと理解して活用していきましょう。

コメント

コメントする

目次