HAVING句 : 解説
GROUP BY句でグループ化した表のデータに対して、さらに検索条件を設定できるのがHAVING句です。WHERE句による表の絞り込みはグループ化される前に行われてしまうので、グループ化した結果に検索条件を指定するためにHAVING句が用意されています。
HAVINGキーワードの後に指定する検索条件は、AND演算子、OR演算子を使って複数の条件を記述することができます。また、この検索条件に使う列は、SELECT句で指定している列でなくても構いません。
HAVING句 : 使用例
次の例では、GROUP BY句でカテゴリごとにグループ分けし、AVG関数で求めた平均単価が「500以上」のものという指定をHAVING句で記述しています。
SQL文
SELECT カテゴリ, AVG(単価) 平均単価,
SUM(販売数量) 販売数量
FROM 売上
GROUP BY カテゴリ
HAVING AVG(単価)>500;
SELECT カテゴリ, AVG(単価) 平均単価,
SUM(販売数量) 販売数量
FROM 売上
GROUP BY カテゴリ
HAVING AVG(単価)>500;
実行結果
カテゴリ | 平均単価 | 販売数量 |
奇想天外商品 | 1000 | 4 |
非効率商品 | 565 | 21 |
表:売上
商品名 | カテゴリ | 単価 | 販売数量 |
割れない卵 | 非実用商品 | 300 | 12 |
温まらない水 | 非効率商品 | 980 | 15 |
結べない紐 | 非効率商品 | 150 | 6 |
開けない本 | 非実用商品 | 450 | 10 |
沈む板 | 奇想天外商品 | 1000 | 4 |
硬いプリン | びっくり食品 | 120 | 18 |
関連リンク
SQLリファレンスTOPページ
SQLリファレンス
データの操作、演算子、関数を解説します。