问题
如图有两列,第一列是主键,第二列是产品编码,其中产品编码有重复数据,我现在需要删除这部分编码重复的数据
方法
利用having +聚合函数
SELECT MIN(FID) FID,FProductCode FROM #table where FDate='2022-04-20' GROUP BY FProductCode HAVING COUNT(1) > 1
查询出来的就是一半的重复数据
实现
删除重复数据
--删除重复数据 update #table set FDelete=1,exchange_status=0 where FID IN( SELECT MIN(FID) FID,FProductCode FROM #table where FDate='2022-04-20' GROUP BY FProductCode HAVING COUNT(1) > 1 )