중복시 데이터 하나만 표시 하고 싶습니다.
테이블 구조는 이렇습니다. 테이블명: Test
ID | Name |
1 | 롯데 |
2 | 해태 |
3 | 롯데 |
4 | 삼양 |
5 | 삼양 |
원하는 응답 값은 이렇습니다.
ID | Name |
1 | 롯데 |
2 | 해태 |
4 | 삼양 |
테이블에 데이터는 그대로 있고 중복없는 것은 그대로 한개만 표시 하고 중복이 있으면 한개만 표시하고 싶습니다.
"SELECT ID, MIN(ID), Name FROM Test GROUP BY ID, Name"
다른 게시물 찾아서 이렇 해봤는데 안되네요;;
(MY SQL) 입니다. 답변 부탁드립니다.
[오라클 기준]
with data
as
(select 1 id, '롯데' name from dual
union all
select 2 id, '해태' name from dual
union all
select 3 id, '롯데' name from dual
union all
select 4 id, '삼양' name from dual
union all
select 5 id, '삼양' name from dual
)
select *
from (
select a.*
, row_number() over( partition by name order by id ) rnk
from data a
)
where rnk = 1
order by id