最初に、私は(初心者として)テーブル内の重複に関するいくつかの Q & A を検索したことを述べたいと思いますが、残念ながら、回答として使用されているコードを操作できませんでした。
私のテーブルは、SQL Server 2008 で並べ替えられたレポートから作成されています。
重複したレコードを削除する方法と説明を知りたいです。
"MyTable":
Column1 (PK-auto incremental table's record ID)
Column2 (some TXT)
Column3 (Some TXT)
Column4 (SmallDateTime)
Column5 is empty
Column5 の値が保持されますSUM(count of deleted duplicates including this survived row)
場合によっては解決策の鍵は、同じ内容のレコードが複数ある場合[column2 and column3]
(したがって重複)、それらが常に同じ日付を共有するとは限らないことです ( column4
)。
これから:
col1 col2 col3 col4 col5
---- ----- ---- ----------- ----
1 [abc] [4] [10/1/2012] null
2 [abc] [1] [12/1/2012] null
3 [ghi] [6] [4/1/2012] null
4 [def] [5] [8/1/2012] null
5 [abc] [4] [10/1/2012] null
6 [def] [5] [12/1/2012] null
7 [ghi] [6] [15/1/2012] null
8 [abc] [4] [17/1/2012] null
9 [ghi] [6] [6/1/2012] null
10 [abc] [1] [13/1/2012] null
これに:
col1 col2 col3 col4 col5
---- ----- ---- ----------- ----
8 [abc] [4] [17/1/2012] 2
10 [abc] [1] [13/1/2012] 3
6 [def] [5] [12/1/2012] 2
7 [ghi] [6] [15/1/2012] 3
つまり、複製されたすべてのレコードの表現として最新の (1) を残します。
++再編集++
Aaron Bertrand shawnt00 e2nburner...そして残りの皆さん、あなたの返信にどれほど感謝しているかは言えませんが、その大量のコードをまだ理解していません. 私は今、これらのコードをチェックするつもりですが、b4 ではありません。
私が最初にプログラミングを始めてSQLクエリが必要になったとき、使用した後
Select * From MyTable
... 最初の SQL ステートメント ...
私はSQLを知っていると言いました!!! .... さて ... 皆さんの深い知識を見てください ... どうもありがとうございました StackOverFlow のこの投稿が他の初心者にとってもさらに役立つことを知っています