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.销售单位 = 销售主表.销售单位 ….
