티스토리 뷰

Oracle

[Oracle] 오라클 SQL 쿼리(DECODE)

정뚱띵 2018. 2. 7. 13:52
728x90
반응형
오라클 SQL 쿼리
*DECODE는 Oracle에서만 지원되는 키워드이다.
count(decode(컬럼명, 조건 , '1' ))  숫자 '1'의 의미는 없다. null이 아닌값을 넣어주면 된다.(별칭을 붙어도 되는거 같다. 붙이면 조건값이 별칭으로 출력된다.)

예제
create table t1(col1 varchar2(10), col2 varchar2(10));
insert into t1 values ( 1 , '가'); insert into t1 values ( 1 , '나'); insert into t1 values ( 1 , '가'); insert into t1 values ( 1 , '가'); insert into t1 values ( 1 , '다'); insert into t1 values ( 2 , '가'); insert into t1 values ( 2 , '나'); insert into t1 values ( 2 , '가'); insert into t1 values ( 2 , '나');
테이블과 자료를 입력하고
ex1) col2에 '가'의 개수만 얻고 싶다. select count(decode(col2, '가', 1)) from t1;
ex2) col1의 값이 1이고 col2의 값이 '가' 인값을 보고 싶다.
select count(decode(col2, '가', 1)) from t1 where col1=1;
ex3) col1을 그룹화 하고 각 그룹마다 가, 나, 다의 개수를 구해보자.
select col1,           count(decode(col2, '가', 1)),           count(decode(col2, '나', 1)),           count(decode(col2, '다', 1)) from t1 group by col1;



728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
250x250