HAVING
備考
HAVING 句は SELECT ステートメントの中で GROUP BY 句と一緒に使用して、集計値が特定の基準を満たしているグループのみを表示します。
HAVING 句内の式には、定数、セット関数、または GROUP BY 式リスト内の式の複製を含めることができます。
PSQL データベース エンジンでは、GROUP BY のない HAVING はサポートされていません。
HAVING 句でエイリアスを使用することができます。ただし、エイリアスはテーブル内のどの列名とも異なっていなければなりません。
例
次の例では、講座名が 5 つを超える学部名が返されます。
SELECT Dept_Name, COUNT(*) FROM Course GROUP BY Dept_Name HAVING COUNT(*) > 5
上と同じ例でエイリアス(ここでは "dn" と "ct")を使用して、同様の結果を得られます。
SELECT Dept_Name dn, COUNT(*) ct FROM Course GROUP BY dn HAVING ct > 5
COUNT(式) によって、述部にある式の非ヌル値がすべてカウントされるということを覚えておいてください。COUNT(*) ではヌル値を含むすべての値がカウントされます。
============
次の例では、講座数が 5 つを超える Accounting という名前の学部名が返されます。
SELECT Dept_Name, COUNT(*) FROM Course GROUP BY Dept_Name
HAVING COUNT(*) > 5 AND Dept_Name = 'Accounting'
関連項目