表中有一列是单位名称,其中有很多重复的单位,例如:“北京天意公司”、“天意公司”实际上就是一个单位,只是差了“北京”两个字,就成了两个记录,还有的写成了“北京市”,就成了三个记录,这样的重复数据很多,怎样能够把这些重复的单位都筛选出来?

解决方案 »

  1.   

    这是一个人工智能系统,不是简单的SQL查询
      

  2.   

    SQL是一种逻辑语义表达式,如果你能够将你的算法用逻辑语言表达出来,SQL就能处理,否则别想。
      

  3.   

    我就是想知道用什么样的语句可以设计出这种这种效果?可否查询相似度?或者查询包含关系?这个问题不是请教sql语句的写法,而是一个方法的请教。
      

  4.   

    在SQL的表达式里, 
    下面几种情况的逻辑值为真:
    “北京天意公司” like “%天意公司%”
    “北京天意公司” like “%北京%”下面几种情况的逻辑值为假:
    “北京天意公司” like “%天意 公司%”
    “北京天意公司” like “%天易公司%”
    “北京天意公司” like “%北京市%”如果有工具对字符串进行语义解析,能够将“北京天意公司”拆分为"北京"+"天意"+"公司",而不是"北"+"京天意"+"公司"或其他的什么,那还可以考虑继续处理。否则恐怕很难。
      

  5.   

    如果真的是没有什么规律,那么智能分析和筛选肯定是一个大课题。不过幸好我现在面对的问题比较简单一下,就是所有重复的单位名称只有“北京”或“北京市”的前缀差异,也就是说:所有重复数据中,只有三种可能:“天意公司”、“北京天意公司”、“北京市天意公司”。那么利用“北京天意公司”   like   “%天意公司%”的逻辑为真,是否可以建立筛选的查询呢?请Time Space 多帮忙想想,谢谢!
      

  6.   

    由于我比较着急处理这批数据,所以只能先把所有"北京市"以及"北京"的前缀取消,然后再做处理。不过这只是一个权宜之计,因为以后还有很多类似的表格不断新增需要处理,而且还可能面对新的查询要求和整合要求,这样修改原有数据,我担心对于将来不利。最好能有不修改原有数据,就能够实现这个查询的方案。还是很感谢tim_spac,我先结贴,如果你想到更好的方案,麻烦发邮件给我:[email protected],再次谢谢!
      

  7.   

    其实这个问题的关键不在数据库。数据库的责任是如实记录让它记录的信息。
    以前我们单位也有类似的应用,通过Web采集感兴趣的人员的相关信息。这种情况应该在web上让用户尽量完整地填写内容。当然,访问者可能不是很情愿。
    对于获得的信息还是要有人来回访核实才能保障正确性、真实性。
      

  8.   

    我这里的应用主要是销售数据的处理,每月各地分部和各地代理商要将各自的销售数据汇总上来,由于各地分部和代理商使用的销售管理系统各不相同,所以只能要求他们导出为文本或excel格式,然后我再一并导入我的数据库。其中就遇到这样的问题:相同的单位在不同的代理商中名称不一致,主要是地名的忽略,个别的还有因为名称过长被代理商直接缩写了,这样就为整体的统计设置了障碍,所以我首先要解决的就是在我这个数据表中名称的统一性和唯一性,现在数据量还小,以后大了就更麻烦了。
      

  9.   

    呵呵,我能做的就是多学习mysql、处理数据,这也是我比较有兴趣、也可能达到的事情,其他的事情都比较遥远了