안녕하세요~ 날씨가 많이 더워졌네요.....^^
다름이 아니라 그룹바이 카운트 후 중복된 값들을 한개씩만 남겨 놓고 삭제를 하려고 하는데요... 아래는 테이블의 데이터 입니다.
순번 | 코드 |
1 | 4375025024104000000 |
2 | 4375025024104000000 |
3 | 4375025024104000000 |
4 | 4375025024104000000 |
5 | 4375025024104130003 |
6 | 4375025024104130003 |
7 | 4375025024104130003 |
8 | 4375025024104130003 |
아래의 쿼리를 실행하면 코드라는 값의 중복된 개수가 4개씩 나옵니다.
SELECT 코드, COUNT(*) FROM 테이블 HAVING COUNT(*) > 1 GROUP BY 코드;
코드 | count(*) |
4375025024104000000 | 4 |
4375025024104000000 | 4 |
4375025024104000000 | 4 |
4375025024104000000 | 4 |
4375025024104130003 | 4 |
4375025024104130003 | 4 |
4375025024104130003 | 4 |
4375025024104130003 | 4 |
4개씩 중복된 값들 중에서 한개씩만 남겨놓고 나머지는 삭제를 하고 아래와 같이 테이블 결과를 남기려고 합니다..
조언 부탁드리겠습니다 ~(_._)~
순번 | 코드 |
1 | 4375025024104000000 |
2 | 4375025024104130003 |
with t as ( select '4375025024104000000' as a from dual union all select '4375025024104000000' from dual union all select '4375025024104000000' from dual union all select '4375025024104000000' from dual union all select '4375025024104130003' from dual union all select '4375025024104130003' from dual union all select '4375025024104130003' from dual union all select '4375025024104130003' from dual )select distinct a from t
with temp as ( select '1' as 순번,'4375025024104000000' as 코드 from dual union all select '2','4375025024104000000' from dual union all select '3','4375025024104000000' from dual union all select '4','4375025024104000000' from dual union all select '5','4375025024104130000' from dual union all select '6','4375025024104130000' from dual union all select '7','4375025024104130000' from dual union all select '8','4375025024104130000' from dual )select rownum as 순번, 코드 from (select 코드 from temp group by 코드)
초보입장에서 바라본 내용입니다.
좋은 정보 정말 감사합니다~
한가지 더 질문을 드려도 될까요?
select rownum as RN, 코드 from (select 코드 from 테이블 group by 코드); <-- 이 구문을 이용해서 RN 숫자를 NUM 이라는 컬럼에 넣으려고 합니다.
업데이트 구문을 이렇게 짜고 실행하니 "ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다." 라는 메시지가 나오는데요...
UPDATE 테이블_F A
SET A.NUM = (select rownum as RN from (select 코드 from 테이블 group by 코드));
이렇게는 업데이트를 할수 없나요?