gpt4 book ai didi

mysql - 对包含数十万个名字/姓氏/地址/出生日期的列表进行重复数据删除

转载 作者:行者123 更新时间:2023-11-29 07:10:48 26 4
gpt4 key购买 nike

我有一个大数据集,我知道其中包含许多重复记录。基本上我有关于名字、姓氏、不同地址组成部分和出生日期的数据。

我认为最好的方法是使用姓名和出生日期,因为如果这些都匹配,则很可能是同一个人。可能有很多情况在拼写(如错别字漏掉一个字母)或名称的使用(即:有些人的名字列中可能有中间名首字母)方面存在细微差异,这很好解释,但我'我不确定如何处理这个问题。

是否有关于此过程的任何工具或文章?数据全部在MySQL数据库中,SQL基本掌握。

最佳答案

您可以通过以下方式了解必须执行多少重复数据删除:

select birthDate,last_name,soundex(first_name),count(*)
from table
group by birthDate,last_name,soundex(first_name)
having count(*) >1

这将列出具有相同生日、姓氏和相似名字的人。 Soundex() 不是很好,但这可以帮助您了解重复数据删除的数量。

下面的查询将允许您从类似姓名的人的表中获取按字母顺序排列的第一个 first_name。希望这会给你一些粗略的开始想法//

select birthDate,last_name,soundex(first_name),min(first_name)
from table
group by birthDate,last_name,soundex(first_name)
having count(*) >1

对于第二个查询,您可以通过使用 DELETE where name not in 来删除所有出现的其他名称,但这假设您愿意保留最低的 first_name 并删除其余的...

关于mysql - 对包含数十万个名字/姓氏/地址/出生日期的列表进行重复数据删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4676046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com