CODE WDATE COUNT
1 100 5
1 101 5
1 102 3
2 101 1
2 102 2
3 104 1
3 105 6
4 101 2
4 102 3



이런 형태의 데이터가 있다고 칩니다.
wdate라는건 아무렇게나 입력했지만, 날짜라고 칩니다.
이런 형태의 데이터를

날짜 / 코드1 / 코드2 / 코드3 / 코드4
100
101
102
 
이런 형태로 데이터를 뽑고 싶을 경우가 있습니다.
이런 경우엔 DECODE 기능을 이용해 형태를 재 정의를 할 수 있습니다.

    select wdate,
    sum(decode (code, 1, count)) as code1,
    sum(decode (code, 2, count)) as code2,
    sum(decode (code, 3, count)) as code3,
    sum(decode (code, 4, count)) as code4
    from test
    group by wdate
    order by wdate;


decode는 삼항연산자와 비슷한 느낌으로 사용하면 됩니다.
code가 1일경우 count는 code1로 보내고 , 2일경우는 code2로 보냅니다.
그리고 group by 를 이용해 월별 합산을 만들 수 있습니다.

결과는 아래와 같습니다.

WDATE CODE1 CODE2 CODE3 CODE4
100 5
101 5 1 2
102 3 2 3
104 1 2
105 6







 

크리에이티브 커먼즈 라이선스
Creative Commons License

Posted by xxeronis
◀ PREV : [1] : [2] : [3] : [4] : [5] : [6] : [7] : [8] : ... [160] : NEXT ▶

카테고리

분류 전체보기 (160)
獨白 (57)
雜多 (41)
趣味 (18)
旅行 (8)
사용기 (1)
MabiNogi (4)
Study (0)
LINUX (5)
Window 7 (2)
ORACLE (8)
문제해결 (6)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

태그목록

달력

«   2012/02   »
      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      

글 보관함