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