Sql Oracle数据库中单个列的字符串分组,包含百万行并删除重复项

Sql Oracle数据库中单个列的字符串分组,包含百万行并删除重复项,sql,oracle11g,Sql,Oracle11g,我们有一个巨大的表,其中一列包含类似于第1行的查询 1.(((姓:亚当或姓:尼尔,姓:李))和类别:“法律”和类型:个人 和在同一列的第2行中 2.(((名字:亚当*或名字:尼尔)和姓氏:李))和类别:“法律”和类型:组织 类似地,很少有其他类型的查询字符串最终用于查询外部服务 这个问题是基于某些标准,我必须分组并从此表中删除重复项 确定不同行中字符串分组的规则很少。其中之一是,如果名字和姓氏相同,则忽略类别和类型值,因此上述两行将分组为一行。大约有一百万行。比较字符串和分组看起来并不是一个优雅

我们有一个巨大的表,其中一列包含类似于第1行的查询 1.(((姓:亚当或姓:尼尔,姓:李))和类别:“法律”和类型:个人 和在同一列的第2行中 2.(((名字:亚当*或名字:尼尔)和姓氏:李))和类别:“法律”和类型:组织

类似地,很少有其他类型的查询字符串最终用于查询外部服务

这个问题是基于某些标准,我必须分组并从此表中删除重复项


确定不同行中字符串分组的规则很少。其中之一是,如果名字和姓氏相同,则忽略类别和类型值,因此上述两行将分组为一行。大约有一百万行。比较字符串和分组看起来并不是一个优雅的解决方案。使用sql的最佳解决方案是什么。

这不是一个提供建议的网站。这是一个回答技术问题的网站。嘿,戈登,我已经更正了。如果问题不清楚,请告诉我。我想不出一个确切的解决方案,但您能使用REGEXP函数的组合来查找字符(如通配符)以进行匹配吗?我最近写了一些Oracle函数,但我不知道这是否会比使用REGEXP更复杂。是的,我使用REGEXP只是为了分组。然而,由于分组有很多规则。临时表是应用这些转换的好主意吗?