Posted on 2013-05-03 00:30
zolly 閱讀(401)
評論(0) 編輯 收藏
會員數據需要用到的是下面三個字段: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)