删除一张表中重复的值以及查找出表中重复两条以上的数据

本文介绍了一种使用 SQL 语句来查找并删除数据库表中重复记录的方法。通过多个 SQL 查询步骤,可以有效地识别出具有相同 originalcode 的多条记录,并最终保留每组重复项中的最小 id 记录,其余重复项将被删除。此方法适用于需要清理数据以去除重复项的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- SELECT MIN(id) FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1
-- SELECT originalcode FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1
-- SELECT id FROM ctydetail WHERE originalcode IN ( SELECT originalcode FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1 ) AND id NOT IN ( SELECT MIN(id) FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1 )
-- SELECT id FROM ctydetail WHERE originalcode IN ( SELECT originalcode FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1 )
-- DELETE FROM  ctydetail WHERE originalcode IN ( select originalcode from (SELECT originalcode FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1 ) as temp1) AND id NOT IN (select * from ( SELECT MIN(id) FROM ctydetail GROUP BY originalcode HAVING COUNT(originalcode) > 1 ) a)
-- SELECT COUNT(*) AS a FROM ctydetail GROUP BY originalcode ORDER BY a DESC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值