group by と case の併用

group by と case の併用をメモ。

group by は 集計関数しか使えないので、
集計関数内に case を含める。

以下は sum を例にする。
id ごとに point_type = 1 の場合のみ point を加算する。

select id, sum( case when point_type = 1 then point else 0 end) from tb_test group by id;

SQLは便利だ・・・・。