ホームページ >データベース >mysql チュートリアル >単一の T-SQL クエリを使用して SQL Server の重複レコードを削除する方法
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 サイトの他の関連記事を参照してください。