>데이터 베이스 >MySQL 튜토리얼 >한 행을 유지하면서 SQL Server에서 중복 행을 어떻게 삭제할 수 있습니까?

한 행을 유지하면서 SQL Server에서 중복 행을 어떻게 삭제할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-15 16:11:45969검색

How Can I Delete Duplicate Rows in SQL Server While Keeping One Row?

단일 행을 유지하면서 SQL Server에서 중복 행을 효율적으로 제거

데이터 무결성은 데이터베이스 관리에 있어 매우 중요합니다. 이 문서에서는 각 고유 데이터 세트의 인스턴스를 하나 이상 유지하면서 SQL Server 테이블에서 중복 행을 제거하는 일반적인 문제를 해결합니다. T-SQL은 공통 테이블 표현식(CTE)을 사용하여 간단한 솔루션을 제공합니다.

CTE 내의 OVER 절이 이 프로세스의 핵심입니다. 예시는 다음과 같습니다.

<code class="language-sql">WITH cte AS (
  SELECT [foo], [bar],
     ROW_NUMBER() OVER (PARTITION BY [foo], [bar] ORDER BY [baz]) AS rn
  FROM [TABLE]
)
DELETE FROM cte
WHERE rn > 1;</code>

이 쿼리는 CTE를 사용하여 rn[foo] 열로 정의된 그룹 내의 각 행에 고유한 행 번호([bar])를 할당합니다. ORDER BY [baz] 절은 각 그룹 내에서 유지되는 행을 결정합니다. 특정 요구 사항에 따라 이를 조정해야 합니다. 그런 다음 DELETE 문은 rn이 1보다 큰 모든 행을 제거하고 [foo][bar]의 각 고유 조합에 대해 하나의 대표 행만 남깁니다.

이 접근 방식은 SQL Server 데이터베이스의 데이터 청결성과 정확성을 유지하기 위한 효율적이고 안정적인 방법을 제공합니다.

위 내용은 한 행을 유지하면서 SQL Server에서 중복 행을 어떻게 삭제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.