-
MSSQL 중복제외 SELECT, 중복삭제 DELETEDatabase/MSSQL 2018. 5. 1. 20:31반응형
1. 중복된 데이터는 제외하고 조회하기 (SELECT)
- field1에서 중복되는 데이터는 제외하고 조회 됨.
1) SELECT DISTINCT field1 FROM Table
2) SELECT field1 FROM Table GROUP BY field1
3) 중복된 것 중에는 ID가 큰 것만 조회
SELECT column_name from Table WHERE ID in (select max(ID) from Table group by field1)
2. 중복된 데이터 삭제하기 (DELETE)
- field1에서 중복되는 데이터들 중에 하나만 남기고 다 삭제
1) 고유아이디를 가진 칼럼이 있을 때
DELETE FROM Table
WHERE IDs in (
SELECT IDs FROM Table A INNER JOIN
(
SELECT Max(IDs) as IDs, field1 FROM Table
GROUP BY field1
HAVING Count(*) > 1
) B ON A.field1 = B.field1 and A.IDs <> B.IDs
)반응형'Database > MSSQL' 카테고리의 다른 글
MSSQL Service Broker 활성화하는 방법 (사용중인 DB 포함) (0) 2018.06.15 MSSQL Database, Table, Column 존재 여부 확인 (0) 2018.06.05 MSSQL 시퀀스(행번호, ID) n배수 SELECT, UPDATE (0) 2017.12.29 MSSQL IDENTITY (시퀀스, ID 자동 증가값) 초기화 (0) 2017.12.11 MSSQL 다른 테이블에서 값을 가져와서 UPDATE 하기 (다른 테이블과 조인해서 UPDATE 하는 방법) (0) 2017.10.17