ホームページ >データベース >mysql チュートリアル >単一の T-SQL クエリを使用して SQL Server の重複レコードを削除する方法

単一の T-SQL クエリを使用して SQL Server の重複レコードを削除する方法

Susan Sarandon
Susan Sarandonオリジナル
2025-01-12 11:51:45974ブラウズ

How to Delete Duplicate Records in SQL Server Using a Single T-SQL Query?

SQL Server での重複行の効率的な削除

Employee 列を含む EmployeeName テーブルを想像してください。 目標は、EmployeeName フィールドのみに基づいて重複行を削除することです。 これは、SQL Server の簡潔な T-SQL クエリを使用して実現できます。

解決策:

ウィンドウ関数を活用することで、洗練されたソリューションが提供されます。次のクエリは、各 rn グループ内の各レコードに、EmployeeName の順序で一意の行番号 (empId) を割り当てます。 その後、rn が 1 より大きい行 (つまり、重複) が削除されます。

<code class="language-sql">DELETE x
FROM (
    SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId)
    FROM Employee
) x
WHERE rn > 1;</code>

ステートメントを実行する前に削除予定の行をプレビューするには、次の DELETE クエリを実行します。SELECT

以上が単一の T-SQL クエリを使用して SQL Server の重複レコードを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。