데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
SQL 2008 사용자입니다.
어제 설명을 쉽게하려고 최종가공 데이터로 질문을 남겼었는대요...
해결이 안되서 염치불구하고 재질문 올립니다.
위에표처럼 테이블형태가 존재하구요
화살표 아래처럼 값을 얻고자 합니다.
가가가 라는 사람이 금액이 천원이 3번 5백원이 1번일경우 천원인 값을 가져오고 이름이 몇개가 있는지 수량으로 나오고
하는 쿼리인데요...
도통 답이 안나와서요...
조언좀구하고자 이렇게 글을 올립니다.
부탁드립니다~^^
with res as
(
select '가가가' 이름 ,1000 금액 union all
select '가가가' 이름 ,1000 금액 union all
select '가가가' 이름 ,1000 금액 union all
select '가가가' 이름 , 500 금액 union all
select '나나나' 이름 ,2000 금액 union all
select '나나나' 이름 ,2000 금액 union all
select '다다다' 이름 , 150 금액 ) ,
res1 as (
select *
, COUNT(이름) over(partition by 이름) cnt
from res )
select 이름 ,cnt 수량, 금액
from ( select 이름 , COUNT(*) 수량 , 금액
, ROW_NUMBER() over(partition by 이름 order by COUNT(*) desc ) rid
, MIN(cnt) cnt
from Res1
group by 이름 , 금액 ) r
where rid = 1