この記事では、SQLのGROUP BYステートメントを使用してデータを集約し、要約レポートを生成する方法について詳しく解説します。特に、ビジネスの現場でよく使われる具体的なケースに焦点を当て、理論だけでなく実践的な使い方も紹介します。
目次
GROUP BYステートメントとは
GROUP BYステートメントは、SQLでデータを特定の列(または複数列)で集約するためのステートメントです。このステートメントを使用すると、集計、平均、最大値、最小値などの要約情報を簡単に取得できます。
基本構文
基本的なGROUP BYの構文は以下のようになります。
SELECT 列名1, 列名2, 集計関数(列名3)
FROM テーブル
GROUP BY 列名1, 列名2;
GROUP BYの使用例
単一列での集約
例えば、従業員テーブル(employees)があり、部署ごと(department列)に平均給与(salary列)を知りたい場合のSQLは以下のようになります。
SELECT department, AVG(salary)
FROM employees
GROUP BY department;
複数列での集約
複数の列を使ってデータを集約することも可能です。以下は、部署と役職ごとに平均給与を計算する例です。
SELECT department, title, AVG(salary)
FROM employees
GROUP BY department, title;
部署 | 役職 | 平均給与 |
---|---|---|
営業 | マネージャー | 500000 |
営業 | アシスタント | 300000 |
HAVING句との組み合わせ
GROUP BYステートメントは、HAVING句と組み合わせて使うことで、集約後のデータに対してさらに条件を指定することができます。
SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) > 400000;
まとめ
GROUP BYステートメントは、SQLで非常に重要な集約操作を行うためのステートメントです。単一列だけでなく複数列での集約も可能であり、HAVING句と組み合わせることでより柔軟なデータ分析が行えます。ビジネスの現場でのレポート作成などに非常に役立つスキルであるため、ぜひマスターしてください。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント