ホームページ >データベース >mysql チュートリアル >TSQL を使用して SQL Server の重複レコードを削除する方法
SQL Server テーブルの重複エントリの削除
問題:
重複エントリを含む Employee
というフィールドを持つ EmployeeName
テーブルがあるとします。 T-SQL を使用して、SQL Server の EmployeeName
列に基づいてこれらの重複行を削除するにはどうすればよいですか?
解決策:
T-SQL とウィンドウ関数を使用して、SQL Server の重複行を効率的に削除します。 従業員 ID を使用して重複を順序付けることにより、各名前の最初の出現のみを保持できます。
<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
ステートメントを実行する前に削除予定の行を確認するには、次のクエリを実行します。
<code class="language-sql">SELECT * FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
以上がTSQL を使用して SQL Server の重複レコードを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。