删除数据库表中重复的记录

删除数据库表中重复的记录

在处理数据的过程中,经常会遇到一个表中需要删除一些重复的记录。比如

在上表中,timeofday和cb_key_db_person两个字段,圈起来的记录是重复的,如果需要删除,即可用以下sql语句将要删除的记录查询出来:

SELECT * FROM lem
WHERE (timeofday,cb_key_db_person) IN (SELECT timeofday,cb_key_db_person FROM lem
                                                                      GROUP BY timeofday,cb_key_db_person
                                                                      HAVING COUNT(timeofday)>1 
                                                                       );

发现查询的结果是:

正是我们想要删除的记录,所以,就可以将上面的sql语句中的SELECT改为DELETE即可。

这里之所以先用SELECT查询,是因为如果直接用DELETE语句,一旦删除就是不可逆转的,万一删除了就通常都找不回来了,所以保险的做法是,先用SELECT将要删除的记录查询出来,如果确实是自己想要的结果,再用DELETE删除!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值