是否有某种方式可以删除表中存在的重复记录。我只希望查询中删除一条记录并将其中的其余部分删除。这可以通过查询完成。 请建议删除重复记录
Q
删除重复记录
0
A
回答
5
试试这个 -
身份加入ID列到表中第一个 -
alter <tablename> add id INT IDENTITY
然后使用下面的查询来删除重复记录 -
delete
FROM <tablename>
WHERE id IN
(
SELECT MAX(id)
FROM <tablename>
GROUP BY <columnnames defining uniqueness>
having count (*) > 1
)
请考虑到,那它只删除一个现有行的副本。如果存在共享分组条件的三行 - 除非多次执行查询(直到没有行被删除)或更改删除条件,否则这将不起作用。
0
使用distinct
:
SELECT distinct * FROM Table ....
0
这主要取决于你的表结构,约束上的数量已经和列的,如果有任何主键的数量。
您需要找到optmized查询,它将基于上述约束条件来识别唯一记录,然后最重要的是您需要考虑根据查询删除这些重复项所用的时间。
所以没有人可以发表评论,除非你发布完整的结构和一些示例重复数据。
希望这个小输入有帮助。
0
下面是删除重复记录
Create table #Test (colA int not null, colB int not null, colC int not null, id int not null identity) on [Primary]
GO
INSERT INTO #Test (colA,colB,colC) VALUES (1,1,1)
INSERT INTO #Test (colA,colB,colC) VALUES (1,1,1)
INSERT INTO #Test (colA,colB,colC) VALUES (1,1,1)
INSERT INTO #Test (colA,colB,colC) VALUES (1,2,3)
INSERT INTO #Test (colA,colB,colC) VALUES (1,2,3)
INSERT INTO #Test (colA,colB,colC) VALUES (1,2,3)
INSERT INTO #Test (colA,colB,colC) VALUES (4,5,6)
GO
Select * from #Test
GO
Delete from #Test where id <
(Select Max(id) from #Test t where #Test.colA = t.colA and
#Test.colB = t.colB and
#Test.colC = t.colC)
GO
Select * from #Test
GO
相关问题
- 1. 删除“重复”记录
- 2. XSL删除重复记录
- 3. AngularJS - 删除重复记录
- 4. Mysql - 删除重复记录
- 5. oracle |删除重复记录
- 6. 删除重复记录
- 7. 删除重复记录?
- 8. ActiveRecord:删除重复记录
- 9. Python重复数据删除记录 - 重复数据删除
- 10. 如何从sql表中删除除重复记录之外的重复记录?
- 11. 删除除一个重复记录以外的所有记录
- 12. Firebird SQL删除重复记录
- 13. Oracle:批量删除重复记录
- 14. 有效删除所有重复记录
- 15. 删除sql表中的重复记录
- 16. 删除重复记录的SQL Server
- 17. 删除重复记录保持原有
- 18. 删除列表中的重复记录
- 19. MySQL记录重复数据删除
- 20. 从视图中删除重复记录
- 21. 删除特定的重复记录
- 22. 与原始记录删除重复
- 23. 查询删除重复记录
- 24. 如何删除重复记录
- 25. 删除重复记录包括原始
- 26. 删除重复记录在SQL Server
- 27. 从表中删除重复记录
- 28. 在SAS中删除重复记录
- 29. 删除重复的XML记录
- 30. 删除表中的重复记录
有样品的例子,但你应该学会这两个搜索现有的答案和接受回答您存在的问题。 – 2010-08-02 07:06:50
您使用的是什么RDBMS?你最近的10个问题中有没有得到满意的回答?如果是的话,你能接受这些答案吗? – 2010-08-02 09:15:39
如果你使用MySQL,你可能想从昨天看看这篇文章:http://stackoverflow.com/questions/3383898/remove-duplicates-using-only-a-mysql-query – 2010-08-02 09:39:49