SQLのHAVING句とAVG関数を組み合わせたデータフィルタリングの方法

SQLのデータベースで情報を整理・抽出する際、HAVING句とAVG関数は非常に強力なツールです。特に、グループ化したデータに対して条件を適用する場合、HAVING句は必須です。この記事では、HAVING句とAVG関数を組み合わせて、特定の条件に一致するレコードを効率よくフィルタリングする方法を詳細に解説します。

目次

基本概念の説明

SQLにおいて、HAVING句とは、GROUP BY句でグループ化されたデータに対して条件を適用するための句です。AVG関数は、指定した列の平均値を計算する関数です。

HAVING句の基本形

HAVING句は、GROUP BY句の後に続けて書きます。基本的な形は以下の通りです。

SELECT 列1, 列2, ... 
FROM テーブル名
GROUP BY 列1, 列2, ...
HAVING 条件;

AVG関数の基本形

AVG関数は、指定した列の平均値を計算します。基本的な形は以下の通りです。

SELECT AVG(列名) 
FROM テーブル名;

具体的な使用例

HAVING句とAVG関数を組み合わせると、特定の条件に一致するレコードを効率よくフィルタリングできます。

サンプルデータ

まず、以下のような商品の売上データがあると仮定します。

商品ID商品名売上金額
1りんご300
1りんご200
2バナナ100
2バナナ150
サンプル売上データ

HAVING句とAVG関数の組み合わせ例

このサンプルデータに対して、各商品の平均売上金額が150以上の商品だけを抽出するSQLクエリは以下の通りです。

SELECT 商品ID, AVG(売上金額) as 平均売上金額
FROM 売上データ
GROUP BY 商品ID
HAVING AVG(売上金額) >= 150;

このクエリを実行すると、以下のような結果が得られます。

商品ID平均売上金額
1250
2125
HAVING句とAVG関数でフィルタリングされた結果

まとめ

HAVING句とAVG関数を組み合わせることで、グループ化したデータに対する複雑な条件フィルタリングも簡単に行えます。特に、大量のデータを扱うビジネスシーンでのデータ分析において、この組み合わせは非常に強力です。

コメント

コメントする

目次