【问题标题】:Similar account names in one table一张表中的相似帐户名称
【发布时间】:2017-04-19 21:56:51
【问题描述】:

我寻求帮助。 我有一个数据库表,其中的帐户。有id,name等列。我需要找到名称相似的记录,以检查重复项。例如,我需要检查的帐户名称可以是 a.s. .: ABF a.s, ABF, a.s., "ABCD s.r.o", ABCD s.r.o, REWAQ a.s, REWAQ v.o.s.不同的可以是:、或“”或结尾(ABC s.r.o. / ABC v.o.s)。 该表有大约 150,000 个条目。可以进行查询,返回相似的帐户名称,我可以检查重复性? 我创建了这个问题,但我的子查询返回了多个值。

如果有任何建议,我将非常高兴。 谢谢, 马丁

【问题讨论】:

  • 您尝试过简单的countgroup by 吗?添加一个having 来删除唯一的行也很好。 PS:重复条件不是很清楚
  • 准确定义什么是“相似”。一旦你设法精确地定义了相似之处,你就会知道做到这一点是多么容易。 (剧透:你不会的。事实并非如此。)
  • 是的,我试过了,但是count会返回数字,我需要返回类似帐户的全名
  • 所以在select中加上名字……既然是group by的子句,这样就对了

标签: mysql sql


【解决方案1】:

我认为这对你有用:

SELECT name, COUNT(*) count FROM accounts GROUP BY name Having COUNT(*) > 1

【讨论】:

  • 这也是我的猜测,但这缺乏为similar 帐户添加条件的可能性
  • 是的,它会起作用的。但是对于帐户,它们具有相同的名称。我的问题是,有些帐户名称相似,例如:“ABCD s.r.o”和 ABCD s.r.o,这些帐户我也需要检查。
  • 两个字符串中的,不同??
  • 不同的可以是: , 或 "" 或结尾(ABC s.r.o. / ABC v.o.s)
猜你喜欢
  • 1970-01-01
  • 2013-12-11
  • 2017-12-08
  • 2015-04-25
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
相关资源
最近更新 更多