構文

オプションの HAVING 句の構文は次のとおりです。

HAVING condition

condition は、WHERE 句に指定されたものと同じです。

説明

HAVING 句は、指定された条件を満たさないグループ行を消去します。 HAVING 句は WHERE 句とは異なります。 WHERE 句は、GROUP BY を適用する前に個々の行をフィルター処理します。 HAVING 句は、GROUP BY によって作成されたグループ行をフィルター処理します。 条件で参照される各列は、列が集計関数で参照されない限り、グループ化列を明示的に参照する必要があります。

すべての従業員の sal 列を合計するには、結果を部門番号でグループ化し、10,000 未満のグループ合計を表示します。

SELECT deptno, SUM(sal) AS total
    FROM emp
    GROUP BY deptno
    HAVING SUM(sal) < 10000;

 deptno | total
--------+---------
     10 | 8750.00
     30 | 9400.00
(2 rows)