티스토리 뷰

Oracle

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

정짱 정뚱띵 2018.02.07 13:52
오라클 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;

내부망이라 실습 내용을 옮기지 못해 예제로 대체하였다.


댓글
공지사항
«   2018/10   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Total
120,895
Today
104