데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요~^^
조건을 만족하는 데이터만 집계하고 나머지는 그대로 표현하고 싶은데요.
방법을 모르겠습니다.^^;;
[예]
필드 값
A 100
A 200
A 100
B 100
B 100
C 100
C 100
조건: 필드A의 값만 집계
[결과]
A 400
B 100
B 100
C 100
C 100
위 결과처럼 필드A만 집계하여 표시하고 나머지 필드는 그대로 표시할 수 있을까요?
고수님들~ 가르침 부탁드립니다.
Comment 2
-
이리
2022.07.01 10:25
-
지영아빠
2022.07.01 18:20
with tmp as (
select 'A' as a, 100 as v union all
select 'A' as a, 200 as v union all
select 'A' as a, 100 as v union all
select 'B' as a, 100 as v union all
select 'B' as a, 100 as v union all
select 'C' as a, 100 as v union all
select 'C' as a, 100 as v
)
select a, sum(v) as sum_v
from (
select
a, v,
case when a = 'A' then 1
else
ROW_NUMBER() over(partition by a order by v )
end as gc
from tmp
) x
group by a, gc
조건이 명확하다면 UNION ALL을 사용하여 분리하는것도 방법이 될 수 있을것 같습니다.