我有一个SQL表,您可以向其中添加品牌名称,当添加新的品牌名称时,它将增加现有的品牌活动计数,或者创建一个新的品牌名称。

问题是,如果有人添加了一个拼写不同的新品牌(比如添加了Toyota,但拼写为toyota),它将使用新的活动计数和新的品牌id创建一个新品牌。现在这个表有几个这样的实例,有没有一种方法可以用SQL排序并合并相似的品牌呢?我知道这最终会删除一些行,我不确定SQL是否有能力一次完成所有这些操作。
我对SQL还是个新手,所以对此有任何建议我都很感激。我听说使用Python Pandas会更容易,所以我目前正在寻找一种方法来实现这一点。
发布于 2021-12-03 06:08:03
对于简单的大小写更改,您可以使用诸如LOWER()之类的函数将它们全部转换为小写,然后根据brand_name将结果分组在一起,然而,您的问题说的是“相似”的记录,其中相似的定义不是很好。SQL语言希望您清楚地定义所需的内容,。
如果要修复一个/几个字符,可以使用带百分号(%)和/或下划线(_)的LIKE operator。您可以通过将%和_放在不同的位置来定义您想要识别的所有错误排列。或者,您也可以在MySQL中探索SOUNDEX function或sounds like,看看是否可以基于SOUNDEX合并品牌名称。
如果数据不是很大,我会建议您创建另一个表/临时表来执行此类操作。这样,您就可以随时参考原始数据。
https://stackoverflow.com/questions/70207522
复制相似问题