GROUP BY句, HAVING句

GROUP BY句で、選択した列ごとにグループ化を行います。
HAVING句で、グループ化した結果を条件とした絞り込みを行います。

GROUP BY expression [, ...]
    [HAVING condition]

 

*
下記のテーブルがあるとき…

社員マスタ

社員番号 名前 所属部署コード 月給
1 しゃちょさん 100 1000000
2 部長さん 200 600000
3 主任さん 220 400000
4 Aさん 220 200000
5 Bさん 220 300000

 

*
社員マスタの所属部署コードごとの月給の合計金額を参照する場合、以下のように記述します。

SELECT 所属部署コード, SUM(月給)
  FROM 社員マスタ
 GROUP BY 所属部署コード
;

結果

所属部署コード SUM(月給)
100 1000000
200 600000
220 900000

 

*
社員マスタの所属部署コードごとの月給の合計金額を算出し、その金額が800,000以上のレコードを参照する場合、以下のように記述します。

SELECT 所属部署コード, SUM(月給)
  FROM 社員マスタ
 GROUP BY 所属部署コード
HAVING SUM(月給) >= 800000
;

結果

所属部署コード SUM(月給)
100 1000000
220 900000