Oracle Database 集計した結果に条件を指定して抽出する

Oracle Database 集計した結果に条件を指定して抽出する

Oracle Databaseで、集計した結果に条件を指定して抽出する手順を記述してます。「HAVING」で可能です。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition
  • SQL Developer 21.2.1.204

手順

集計した結果に条件を指定して抽出するには、「HAVING」を使用します。

SELECT カラム名, ... , 集計関数(カラム名), ... FROM テーブル名
GROUP BY カラム名, ...
HAVING 条件

実際に、以下のテーブル「FOO」のカラム「AGE」の「NAME」ごとの最大値を取得して30以上のものだけ抽出してみます。

テーブル「FOO」

抽出してみます。

SELECT name,MAX(age) FROM FOO
GROUP BY name 
HAVING MAX(age) >= 30;

実行結果

抽出されていることが確認できます。

WHEREの場合は、GROUP BYを行う前に実行されます。