-1

我有一个超过 1 亿条记录的客户表。customer_id 是唯一的。但有些客户有超过 1 个 customer_id。所以在某些字段中,id 是不同的,其余字段值是重复的或接近重复的。我特别关注名字和姓氏以检测接近重复的记录。(名字是阿拉伯格式,不是罗马字)。请帮助解决这个问题。

4

2 回答 2

1

“其余字段值重复或接近重复......”

我会使用两种方法:一种用于重复字段,另一种用于接近重复的字段。

  1. 重复字段可以通过类似于@Emanuels 答案的方法来解决。
  2. 接近重复更困难,需要大量的试验和错误。我所知道的大多数相似性度量都是围绕英语构建的,我不知道它们在阿拉伯名字上的表现如何。请看一下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 回答