Oracle12cにHAVINGとGROUP BYを使用するサンプル

環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production

書式
SELECT 列名 FROM テーブル名 GROUP BY カラム名 HAVING 条件式
GROUP BYでグループ化した結果に条件指定するには「HAVING」を使用します。

実行順序
1.WHEREの条件に最初に抽出します
2.抽出結果をGROUP BYでグループ化します
3.グループ化結果にHAVING条件で抽出します。

使用例
「GROUP BY USER_NAME」でユーザー名ごとにグループし、「 SUM(SCORE) > 120」で合計点数が120以上のデータを取得します。
SQL構文

SELECT
  USER_NAME
  , SUM(SCORE) 
FROM
  USER_TBL 
WHERE
  GRADE = '2009' 
GROUP BY
  USER_NAME 
HAVING
  SUM(SCORE) > 120;

 

Oracle 12c

Posted by arkgame