我有一张桌子,上面有人名地址和职称.
名字有时会重复.我必须比较两个人是否有相同的名字和相同的地址,而不是只保留1个记录.
名字有时会重复.我必须比较两个人是否有相同的名字和相同的地址,而不是只保留1个记录.
Table: Data_Excel Name: P_Name Address: P_Address City: P_city
解决方法
要查找重复项,您可以执行以下操作:
SELECT P_name,P_Address,P_city FROM Data_Excel GROUP BY P_Name,P_city HAVING COUNT(*) > 1;
要删除重复项,您可以执行以下操作:
DELETE FROM Data_Excel WHERE rowid NOT IN ( SELECT MIN(rowid) FROM Data_Excel GROUP BY P_Name,P_city );
要插入人员表,您将执行以下操作:
INSERT INTO Person(id,name) SELECT (SELECT MAX(id)+1 FROM Person),P_Name FROM Data_Excel WHERE P_Name NOT IN (SELECT name FROM Person)