studyplan

SUM() , CASE WHEN THEN ELSE END // SQL - ORACLE 본문

SQL(ORACLE)

SUM() , CASE WHEN THEN ELSE END // SQL - ORACLE

무한머니 2022. 6. 26. 23:37

TEMP1 에 갯수를 추가해봤다 

 

그리고 CASE WHEN THEN 을 쓰려고 한다 

그룹은 BNO로 묶었다 

 

SELECT 
    BNO 
    ,SUM(CASE WHEN BNO LIKE '1' THEN 7 ELSE 0 END) "BNO가 1일때"
    ,SUM(CASE WHEN BNO LIKE '2' THEN 7 ELSE 0 END) "BNO가 2일때"
    ,SUM(CASE WHEN BNO LIKE '3' THEN 7 ELSE 0 END) "BNO가 3일때"
    ,SUM(CASE WHEN BNO LIKE '4' THEN 7 ELSE 0 END) "BNO가 4일때"
    ,SUM(CASE WHEN BNO LIKE 'NULL' THEN 7 ELSE 0 END) "BNO가 NULL일때"
    ,COUNT(*) "BNO COUNT"
from temp1 
GROUP BY BNO 
;

 

BNO 가 1일때 갯수는 3개

BNO 가 NULL일때 갯수는 0개

BNO 가 2일때 갯수는 4개

BNO 가 3일때 갯수는 3개

BNO 가 4일때 갯수는 2개

 

BNO 가 NULL일때 갯수는 0개 이건 

NULL 이 아니라 'NULL' 로 스트링 값이니까 0 이 나올수밖에 없다 

 

 

Comments