오라클 이런 쿼리가 가능한가요~~!? 0 3 1,176

by 블루오션 [2015.04.01 09:50:58]


컬럼 1     컬럼 2

-----------------------

2014      A

2013      A

2012     A

2014     B

2013     B

 

컬럼 1     컬럼 2   컬럼3

-------------------------------

2014      A            3

2013      A            3

2012      A            3

2014     B             2

2013     B             2

 

위에 결과를 아래 결과 처럼 표현이 가능 할까요?

즉 '컬럼2'값이 같은 값이면 카운트해서 옆에 나타내야하는데  2개 로우가 별도로

표시 되어야 해서 GROUP BY로는 안되던데 혹시 가능하다면

조언좀 부탁드리겠습니다. ㅜㅜ

by 비주류 [2015.04.01 09:57:23]

SELECT 컬럼1, 컬럼2, COUNT(1) OVER (PARTITION BY 컬럼2) 컬럼3
사이트내의 강좌글도 참고해보세요
http://www.gurubee.net/lecture/2671


by 블루오션 [2015.04.01 10:03:00]

빠른 답변 감사합니다.^^

집계 함수로 검색을 해서 봤어야 하는군요..

좋은 강좌 링크도 감사합니다.^^

 


by 날자~! [2015.04.01 17:26:24]

with bas(year, type)
as (
    select '2014', 'A' from dual union all
    select '2013', 'A' from dual union all
    select '2012', 'A' from dual union all
    select '2014', 'B' from dual union all
    select '2013', 'B' from dual
)
select a.*,
       count(type) over(partition by type) as cnt
from bas a

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입