해결완료
row_number() 함수로 해봤습니다. with 절은 말씀하신 데이터입니다.
with t (nm, typ1, typ2, addr, dt) as (
select '베스킨라빈스', '바닐라', '선구매', '201호', '20210119' from dual union all
select '베스킨라빈스', '바닐라', '선구매', '505호', '20211110' from dual union all
select '베스킨라빈스', '바닐라', '선구매', '303호', '20210522' from dual
)
select *
from (select nm, typ1, typ2, addr, dt, row_number() over (partition by nm, typ1, typ2 order by dt desc ) rn from t)
where rn = 1
최신날짜에 2개 이상 행이 존재 가능한지 검토해 보셔야 합니다.
2개 이상 행이 가능하다면? 결과가 어떻게 나와야 하는지?
2개 다 나와야 하는지? --> RANK 사용
1개 만 나와야 하는지? --> 추가 정렬 기준 필요