0
A
回答
0
最简单的方法来做到这一点,是每行都有一个唯一的标识符,所以如果你还没有一个,创建一个名为“row_id”的新列并设置它到自动编号保存表格,你现在应该在每一行有一个唯一的ID
接下来,你可以构造一个大的丑陋的sql来做你所需要的,但是如果你的表很大,它将不会很好地执行使用子查询,所以最好使用临时表来保存重复的行,然后引用它作为删除语句。
所以首先识别重复项,并存储最小行ID
SELECT a.SerWorkNumber, a.SerialNo, a.Type, Min(a.row_id) AS MinOfrow_id INTO CD_FD_Dups
FROM CD_FD AS a
GROUP BY a.SerWorkNumber, a.SerialNo, a.Type
HAVING count(1) > 1;
接下来,从实际的表中删除引用上面创建的临时表:
DELETE
FROM CD_FD AS a
WHERE EXISTS (
SELECT 1
FROM CD_FD_Dups d
WHERE d.SerWorkNumber = a.SerWorkNumber
and d.SerialNo = a.SerialNo
and d.Type = a.Type
and a.row_id > d.MinOfrow_id
);
相关问题
- 1. 通过SQL删除重复条目?
- 2. 删除条件重复值
- 3. 删除重复行而不考虑主键
- 4. 删除具有条件的特定重复数据
- 5. 删除具有特定条件的重复项sql
- 6. 不考虑重复在SQL
- 7. 删除特定组合的重复项
- 8. 删除特定的重复记录
- 9. 通过条件重定向?
- 10. Informatica Cloud:删除重复的条件
- 11. 根据条件删除重复项
- 12. 删除符合条件的重复行
- 13. 删除通过独特价值重复另一列
- 14. 删除列,以行跨度考虑
- 15. CodeIgniter通过ID删除特定会话
- 16. 删除特定条目
- 17. 根据条件删除特定的列
- 18. 删除基于特定条件
- 19. 避免通过特定脚本创建重复的CRON条目
- 20. 在R中,结合列删除NA,但优先考虑特定替换
- 21. 重写条件以删除Prestashop中的特定参数
- 22. 删除后的Rails条件重定向
- 23. 考虑删除空白,而在POI过滤列中的Excell
- 24. 通过删除if和else条件来重构
- 25. 根据条件删除XML文件中的重复条目。
- 26. 删除双条图中的特定条
- 27. 如何删除特定目录中的重复文件
- 28. 应该删除操作考虑乐观锁定?
- 29. 在Stata中考虑条件均值
- 30. 考虑条件生成随机时间
什么版本的SQL您使用的是? –
谢谢@Tim Biegeleisen。我用MSACCESS – Sero
我写的代码是 > DELETE CD_FD。[SerWorkNumber],CD_FD。[的SerialNo],CD_FD。[ServiceCenter],CD_FD。[ReceivedDate],CD_FD。[类型] FROM CD_FD WHERE((( CD_FD。[SerWorkNumber])In(SELECT [SerWorkNumber] FROM [CD_FD] As Tmp GROUP BY [SerWorkNumber] HAVING Count(*)> 1))AND((CD_FD。[Type])=“CD”)); – Sero