首先,我想说的是,我(作为新手)确实搜索了几个关于表格中重复项的问答,但不幸的是,我无法操纵用作答案的代码。
我的表是由在 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 中的这篇文章对其他初学者也将进一步有用