Oracle 21C CASEで条件分岐して集計する方法

環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0

書式
SUM(CASE WHEN 値1 THEN 結果1 ELSE 結果2 END) 別名
sumとcaseを使って条件分岐して合致した件数を求めます。

使用例

SELECT 
 SUM(CASE WHEN level = '大卒' THEN 1 ELSE 0 END) sch_cnt,
 SUM(CASE WHEN level = '高卒' THEN 1 ELSE 0 END) grade_cnt
FROM Employee;

説明
大卒、高卒の人数をそれぞれ一度に集計しています。「大卒」なら1、「高卒」なら1を返し、1をSUMして集計しています。

Oracle 21c

Posted by arkgame