【SQL】 HAVINGの使い方(グループ化されたものに条件を設定する)

SQLリファレンス
SQLリファレンス
この記事は約2分で読めます。
Recommended Articles

【SQL】 HAVINGの使い方(グループ化されたものに条件を設定する)

HAVING句 : 書式

SELECT [ALL|DISTINCT] <列名1> [,<列名2>...]
FROM <表名1> [,<表名2>...]
GROUP BY <列名>
HAVING <検索条件>

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;

実行結果

カテゴリ平均単価販売数量
奇想天外商品10004
非効率商品56521
表:売上
商品名カテゴリ単価販売数量
割れない卵非実用商品30012
温まらない水非効率商品98015
結べない紐非効率商品1506
開けない本非実用商品45010
沈む板奇想天外商品10004
硬いプリンびっくり食品12018

関連リンク

SQLリファレンスTOPページ
SQLリファレンス
データの操作、演算子、関数を解説します。
Recommended Articles