HAVING
句を使用して、GROUP by
句と集計関数を使用してグループ化および集計されたデータをフィルタリングできます。 HAVING
句は、集計関数およびGROUP BY
句とともに使用する必要があります。 グループ化と集約の後、システムは条件を満たさないグループを除外します。 このトピックでは、HAVING
句の構文と例について説明します。
[ HAVING condition ]
使用上の注意
HAVING
句で参照する列は、グループ化に使用するか、集計関数で参照する必要があります。条件を満たさないグループを除外するには、
HAVING
句を集計関数およびGROUP BY
句と一緒に使用する必要があります。
例:
顧客テーブルのデータをグループ化し、アカウント残高が指定された値より大きいデータを照会します。
SELECT count(*), mktsegment, nationkey,
CAST(sum(acctbal) AS bigint) AS totalbal
FROM customer
GROUP BY mktsegment, nationkey
HAVING sum(acctbal) > 5700000
ORDER BY totalbal DESC;
_col0 | mktsegment | nationkey | totalbal
-------+------------+-----------+----------
1272 | AUTOMOBILE | 19 | 5856939
1253 | FURNITURE | 14 | 5794887
1248 | FURNITURE | 9 | 5784628
1243 | FURNITURE | 12 | 5757371
1231 | HOUSEHOLD | 3 | 5753216
1251 | MACHINERY | 2 | 5719140
1247 | FURNITURE | 8 | 5701952