この記事では、SQLの`GROUP BY`句の基本的な使い方と、それと併用することの多い集約関数について詳しく解説します。この知識は、データベースから情報を取得する際により高度な集計や分析を行うために非常に役立ちます。
目次
GROUP BY句の基本
`GROUP BY`句は、SQLで行を特定のカラムの値でグループ化するために使用されます。同じ値を持つ行は1つのグループとしてまとめられ、その結果が出力されます。
基本的な書き方
基本的な`GROUP BY`句の書き方は以下のようになります。
SELECT column1, column2
FROM table_name
GROUP BY column1;
例: 商品テーブルからカテゴリごとにデータを取得
商品テーブルが以下のようなデータを持っていると仮定します。
商品ID | 商品名 | カテゴリ | 価格 |
---|---|---|---|
1 | リンゴ | フルーツ | 100 |
2 | バナナ | フルーツ | 80 |
3 | キャベツ | 野菜 | 50 |
4 | トマト | 野菜 | 70 |
このテーブルから、カテゴリごとに商品をグループ化するSQLは以下の通りです。
SELECT カテゴリ
FROM 商品テーブル
GROUP BY カテゴリ;
GROUP BY句と集約関数
`GROUP BY`句は集約関数と一緒に使われることが多いです。集約関数とは、`SUM()`, `COUNT()`, `AVG()`などの、特定のグループに対して計算を行う関数です。
集約関数の一覧
- SUM() – 合計を計算
- COUNT() – レコード数をカウント
- AVG() – 平均を計算
- MIN() – 最小値を取得
- MAX() – 最大値を取得
GROUP BYと集約関数の組み合わせ例
カテゴリごとに商品の平均価格を計算するSQLは以下のようになります。
SELECT カテゴリ, AVG(価格) as 平均価格
FROM 商品テーブル
GROUP BY カテゴリ;
まとめ
この記事では、SQLの`GROUP BY`句と集約関数について詳しく解説しました。`GROUP BY`句は特定のカラムの値で行をグループ化する際に非常に役立ち、集約関数と組み合わせることでより高度なデータ分析が可能になります。
created by Rinker
¥4,554
(2024/11/05 10:23:56時点 Amazon調べ-詳細)
コメント