【发布时间】:2018-03-01 11:40:33
【问题描述】:
在 MySQL 中,我有一个表,它接受来自多个输入通道的公共数据,并且包含约 100,000 行。
其中一个字段存储员工职能经理的姓名。在组织中,大约有 100 名这样的职能经理。
我遇到的问题是,由于有多个输入渠道,不同的报告系统为这些经理使用了不同的名称格式。
例如,John Smith 可以存储为;
John Smith
Smith, John
Smith John
现在这有点像噩梦,因为我们希望将此职能经理字段用作报告机制,这意味着我们需要按各个职能经理进行排序或分组。
每个季度后数据都会成为遗留数据,因此我们很乐意清理和格式化职能经理字段。
问题是,有没有一种简单的方法来对这些经理进行分组,即使他们的名字采用不同的格式,我正在寻找一种不涉及我逐个通过每个职能经理的方式,并声明如下这个:
UPDATE tablename SET fm_name = "John Smith" where fm_name like "%John%" and fm_name like "Smith";
例如;以编程方式,我可以获取第一条记录,将名称分解为其名字和姓氏字符串,然后匹配相似的记录并更新它们。然后移动到下一条记录。在 MySQL 中是否可以做到这一点,或者我最好在上面的层中做到这一点。
任何建议将不胜感激。
【问题讨论】:
-
不确定您的问题是什么。你问“有没有一种简单的方法可以做到这一点”,但它似乎没有提到任何具体问题。如果您需要按它们进行排序/分组,如果您的数据不一致,我认为您无法提取任何性能。
-
问题的标题甚至与问题本身不匹配!
-
@Jeto 我已经更新了问题。
-
@cdaiga 我认为标题完美匹配,我希望按原样对数据进行分组,但我认为这是不可能的,所以我很乐意接受一个提供更简单方法的解决方案清理数据。比为每个经理手动完成。
-
好的,我现在把问题搞清楚了@Glen
标签: mysql