SQL(Structured Query Language)はデータベースから情報を取得、更新、挿入、削除するための言語です。この記事では、特に「GROUP BY」を用いたデータの集約方法について、具体的な例とともに解説します。GROUP BYは、データ分析において非常に有用な機能であり、日々の業務やデータ解析作業で頻繁に用いられます。
目次
はじめに
データベースには多くのデータが格納されており、その中から特定の情報を得るためには、適切なクエリを実行する必要があります。GROUP BY句は、そのような情報の抽出や分析において非常に有用です。
GROUP BYの基本
基本的な構文
GROUP BYの基本的な構文は以下のようになります。
SELECT column1, column2, aggregate_function(column3)
FROM table
GROUP BY column1, column2;
簡単な例での説明
以下のような「売上テーブル」があると仮定します。
社員ID | 売上金額 |
---|---|
1 | 500 |
1 | 600 |
2 | 700 |
2 | 300 |
3 | 400 |
このテーブルから、社員IDごとの売上合計を求めるには、次のSQLを実行します。
SELECT 社員ID, SUM(売上金額)
FROM 売上テーブル
GROUP BY 社員ID;
集約関数との併用
SUM関数
SUM関数は、指定したカラムの合計値を求めます。
SELECT 社員ID, SUM(売上金額)
FROM 売上テーブル
GROUP BY 社員ID;
AVG関数
AVG関数は、指定したカラムの平均値を求めます。
SELECT 社員ID, AVG(売上金額)
FROM 売上テーブル
GROUP BY 社員ID;
その他の集約関数
その他にも、MAX、MIN、COUNTなどの集約関数があります。
- MAX関数: 最大値を求める
- MIN関数: 最小値を求める
- COUNT関数: データの件数を求める
GROUP BYの高度な使い方
HAVING句の使用
HAVING句は、GROUP BYで集約したデータに対して、さらに条件を指定できます。
SELECT 社員ID, SUM(売上金額)
FROM 売上テーブル
GROUP BY 社員ID
HAVING SUM(売上金額) > 1000;
この例では、売上合計が1000より大きい社員IDだけが抽出されます。
まとめ
GROUP BYはSQLにおいて非常に強力なデータ集約ツールです。基本的な使い方から、HAVING句を用いた高度なデータ抽出まで、さまざまな方法でデータを集約・分析することができます。この記事で解説したテクニックを駆使して、データ解析の幅を広げてください。
created by Rinker
¥4,554
(2024/11/23 11:00:41時点 Amazon調べ-詳細)
コメント