我有一个超过 1 亿条记录的客户表。customer_id 是唯一的。但有些客户有超过 1 个 customer_id。所以在某些字段中,id 是不同的,其余字段值是重复的或接近重复的。我特别关注名字和姓氏以检测接近重复的记录。(名字是阿拉伯格式,不是罗马字)。请帮助解决这个问题。
问问题
306 次
2 回答
1
“其余字段值重复或接近重复......”
我会使用两种方法:一种用于重复字段,另一种用于接近重复的字段。
- 重复字段可以通过类似于@Emanuels 答案的方法来解决。
接近重复更困难,需要大量的试验和错误。我所知道的大多数相似性度量都是围绕英语构建的,我不知道它们在阿拉伯名字上的表现如何。请看一下
utl_match
:从双重选择 utl_match.edit_distance('mEry','mArry');
于 2013-06-18T13:50:20.667 回答
0
delete from CUSTOMER
where CUSTOMER_ID <> (select min(CUSTOMER_ID)
from CUSTOMER C
where C.FIRST_NAME = FIRST_NAME
and C.LAST_NAME = LAST_NAME)
于 2013-06-18T05:05:06.367 回答