반응형
PK 가 없는 아래와 같은 조건을 가진 테이블에서 중복된 컬럼 제거하는 방법
- 조건
create table dupl_test ( id int, name varchar(10), email varchar(10)); insert into dupl_test values (1, 'kim', 'k@k'),(1, 'kim', 'k@k'),(2, 'park', 'p@p'),(2, 'park', 'p@p'),(3, 'lee', 'l@l'),(3, 'lee', 'l@l');
1. 중복을 제거한 새로운 테이블 생성
CREATE TABLE no_dupl AS SELECT DISTINCT * FROM dupl_test;
2. ctid 를 이용한 중복제거
DELETE FROM dupl_test WHERE ctid
NOT IN (SELECT MIN(ctid) FROM dupl_test GROUP BY id, name, email);
반응형
'PostgreSQL' 카테고리의 다른 글
PSQL Postgresql 중복 허용 insert (0) | 2023.12.20 |
---|---|
*[pSQL] 뷰와 인덱스 (0) | 2023.01.26 |
Postgresql JSON (0) | 2023.01.17 |
[pSQL] 배열 연산자와 함수 (0) | 2023.01.17 |
[pSQL] 조건문과 NULL 관련 함수 (0) | 2023.01.17 |