一意の識別子のない重複行を削除します
一意の識別子列を持たないテーブルから重複行を削除するには、CTE (共通テーブル式) を ROW_NUMBER() と組み合わせて使用できます。
解決策:
次の問い合わせを検討してください:
<code class="language-sql">WITH CTE AS ( SELECT [col1], [col2], [col3], [col4], [col5], [col6], [col7], RN = ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col1) FROM dbo.Table1 ) DELETE FROM CTE WHERE RN > 1;</code>
このクエリは次のことを行います:
結果:
クエリの結果は、重複行が削除されたテーブルであり、最初に出現した一意の行のみが保持されます。これは、元のテーブルに一意の識別子列を必要とせずに実現されます。
以上が一意の識別子を持たずに SQL で重複する行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。