[행을열로]피벗 기능 활용법 질문입니다. 2 4 6,849

by 손님 행을열로 DECODE [2008.06.04 12:38:52]


group by 로 만들어낸 데이타가 있습니다.

대충

TYPE YEAR CNT
A 1999 15
A 2000 13
A 2001 50
B 1999 53
B 2000 28
C 1999 13
C 2001 34

.............

형태로 값이 나온것을

  1999 2000 2001
A 15 13 50
B 53 28  
C 13   34

형태로 쿼리해 내고 싶습니다. (도표처럼 생겼지요..)

질문게시판을 돌며 Pivot , Decode에 관련된 글들을 읽어봤는데,

제가 원하는 저 형태로 만들기 위해 Decode를 어떻게 활용해야 하는지 아직 이해를 못 하겠습니다.

위의 경우로 SQL을 만들면 어떻게 되는지요?

by 채용근 [2008.06.04 12:48:16]
SELECT TYPE
, MAX( DECODE ( '1999', YEAR, CNT ) ) "1999"
, MAX( DECODE ( '2000', YEAR, CNT ) ) "2000"
, MAX( DECODE ( '2001', YEAR, CNT ) ) "2001"
FROM 테이블
GROUP BY TYPE

by 컴바치 [2008.06.04 13:11:35]
감사합니다.
전 최고치를 찾는게 아니랍시고, MAX가 아닌것만 찾아다녔는데
MAX가 들어가는게 맞군요 ^^;;;

by 마농 [2008.06.04 13:22:51]
MIN()이나 SUM() AVG()으로 바꾸셔도 됩니다.

by 조수열 [2009.01.16 15:18:53]
아..TYPE으로 group by 를 위해서 의도적으로 그룹함수를 사용해주는것이군요..
이제서야 행을 열로 고치는거를 이해해보고 있습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입