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;
'SQL > ORACLE' 카테고리의 다른 글
[ORACLE]중복된 값 있는지 찾기. ROWID 이용 (0) | 2014.02.12 |
---|---|
[ORACLE]존재하는지 안하는지 여부 알아내기 (0) | 2014.02.12 |
[ORACLE]당일분,일주일분, 가장마지막분, 1개월분 구하기 (0) | 2014.02.12 |
Oracle 지난 한 주(일주일) 계산 (0) | 2014.02.12 |
SQL 서브쿼리의 시작 (0) | 2014.02.12 |
오라클(DB) 프로시저 문법 (0) | 2014.02.12 |
[ORACLE]SELECT의 정의 (0) | 2014.02.12 |
[ORACLE]WHERE절의 기능 (0) | 2014.02.12 |