오라클 DB DECODE
DECODE 는 DB에서 특정 칼럼의 값을 가져온 뒤
조건에 따라 분류하고난 결과값을
각각의 칼럼으로 다시 펼치는 역할을 하게된다.
예
select
sum(countA) typeA
sum(countB) typeB,
sum(countC) typeC,
sum(countD) typeD,
sum(countE) typeE
from (
select
decode(usertype, 'A', 1) countA,
decode(usertype, 'B', 1) countB,
decode(usertype, 'C', 1) countC,
decode(usertype, 'D', 1) countD,
decode(usertype, 'E', 1) countE
from tb_com_user
where usertype in ('A', 'B', 'C', 'D', 'E')
) a;
예2
select usertype,
sum( decode(usertype, 'A', 1)) countA,
sum( decode(usertype, 'B', 1)) countB,
sum( decode(usertype, 'C', 1)) countC,
sum( decode(usertype, 'D', 1)) countD,
sum( decode(usertype, 'E', 1)) countE
from tb_com_user
where usertype in ('A', 'B', 'C', 'D', 'E')
group by usertype;