SQL重复值删除

1. 重复值的判定:

分组,统计数量,如:

SELECT 销售单位, COUNT(*) FROM 销售主表 GROUP BY 销售单位 HAVING COUNT(*) > 4

销售单位重复4次以上的才会显示出来。

2. 删除动作,比如将上面的消除掉

DELETE FROM 销售主表
WHERE 单位名称 IN (SELECT T.单位名称 FROM 销售主表 T GROUP BY T.单位名称 HAVING COUNT(*) > 4)

3. 另一种方式,一列和多列的情况,此处简化了,只删除了重复的,就是多于1次的记录

一列:
DELETE 销售主表
FROM (SELECT T.单位名称 FROM 销售主表 T GROUP BY T.单位名称 HAVING COUNT(*) > 1) AS T1
WHERE T1.单位名称 = 销售主表.单位名称

多列:

DELETE 销售主表 FROM (SELECT T.销售单位 FROM 销售主表 T GROUP BY T.销售单位 HAVING COUNT(*) > 1) AS T1 WHERE T1.销售单位 = 销售主表.销售单位 ….

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注