SQLのGROUP BYを使って集約データを作成する詳細ガイド

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売上金額
1500
1600
2700
2300
3400
売上テーブル

このテーブルから、社員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句を用いた高度なデータ抽出まで、さまざまな方法でデータを集約・分析することができます。この記事で解説したテクニックを駆使して、データ解析の幅を広げてください。

コメント

コメントする

目次