합계를 구하려고 합니다.... 0 1 3,169

by 손님 [SQL Query] 합계 SUM [2011.08.29 14:31:20]



제가 원하는 합계를 구하려고 하는데 좀 어려워서 이렇게 글을 올립니다.
어떤 테이블에 구분과 순번이 키값입니다.
구분 순번 데이터
A 1   5
B 1   5
B 2   6
C 1   6
C 2   7
C 3   8

예를 들어 위와같이 데이터가 있다고 가정하고
구분에 따라서 데이터의 합계를 구하려고 하는데요
근데 구분의 순번이 2개 이상이면 제일 첫번째 순번의 데이터를 제외하고 나머지 순번들의 합계를
구하려합니다.
위의 데이터의 합계가
A 5
B 6
C 15 
이렇게 나와야 하는데 아무리해도 잘 되지가 않네요. 조언을 구해봅니다(__) 
by 허재영 [2011.08.29 14:58:56]
with t as
(
select 'A' code, 1 seq, 5 dat from dual
union all select 'B', 1, 5 from dual
union all select 'B', 2, 6 from dual
union all select 'C', 1, 6 from dual
union all select 'C', 2, 7 from dual
union all select 'C', 3, 8 from dual
)
select code, sum(dat) sum_dat from
(
select code,case when max(seq) over(partition by code) != 1 and SEQ = 1 then 0 else dat end dat from t
)
group by code
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입