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;