ホームページ >データベース >mysql チュートリアル >キー列に基づいて T-SQL の重複行を効率的に削除する方法
主キー列に基づいて T-SQL の重複行を効率的に削除します
質問:
データ作成時のエラーにより、テーブルに多数の重複行が含まれています。目標は、主キー列の一意の組み合わせごとに 1 行を保持しながら、冗長な行を削除することです。ただし、表には質問に関係がなく、データがわずかに異なる列がいくつか含まれているため、無視する必要があります。
解決策:
SQL Server 2005 以降では、OVER() 関数と共通テーブル式 (CTE) を使用して重複行を効率的に削除できます。
CTE および DELETE ステートメント:
<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 cte WHERE [rn] > 1</code>
手順:
以上がキー列に基づいて T-SQL の重複行を効率的に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。