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

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

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

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

在上表中,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删除!

分类:默认分类 时间:2012-01-08 人气:2
本文关键词:
分享到:

相关文章

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.039 (s). 9 q(s)