您的位置:首页 > 数据库

【转】SQL删除某些字段重复的记录(只保留一条)

2009-10-23 10:48 459 查看
会员数据需要用到的是下面三个字段:ID(自增),MemberName,MemberAddress.只要会员姓名与会员地址相同就认为是重复记录,重复记录在删除时只保留ID最大的那个.SQL如下:

delete MemberInfo where ID not in (
select max(ID) from MemberInfo group by MemberName, MemberAddress)

not in的效率可能会低些,但因为是直接操作数据库,所以这并不重要.这个句子还是非常的简单有效的.

在真正的删除操作前,通常会先了解一下重复记录的情况.可以使用下面的句子:

SELECT COUNT(MemberName) AS TheCount, MemberName, MemberAddress
FROM MemberInfo
GROUP BY MemberName, MemberAddress
HAVING (COUNT(*) > 1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐