【发布时间】:2018-09-10 19:05:24
【问题描述】:
有没有办法在忽略给定字符串的同时查找重复数据?
例如,如果我有一个名称表,有没有办法连接名称为“Ann Smith”但忽略字符串“Dr.”的行。例如,包含“Ann Smith”和“Dr. Ann Smith”的行应该连接成一个名为“Dr. Ann Smith”的行。如果名称匹配(减去“dr.”字符串)并且两行的地址匹配,则连接电话号码。我想取两个名称中较大的一个,我认为这将涉及使用 MAX 语句。
目前我有一个名为 t 的表:
name | phone | address
ann smith | 1234567899 | 123 home address
dr. ann smith | 1234567890 | 123 home address
brian smith | 1235551234 | 789 city street
我想去:
name | phone | address
dr. ann smith | 1234567890, 1234567899 | 123 home address
brian smith | 1235551234 | 789 city street
【问题讨论】:
-
编辑您的问题并以表格格式提供示例数据和所需结果。
-
很抱歉。
-
这不是真正的串联,这是关于模糊匹配,这不是那么容易做到的。
-
如果“给定字符串”是静态值并且是“博士”,可能与此类似:
select name from t group by replace(name, 'Dr. ', '')? -
MySQL 8 还是 MySQL 5.x?
标签: mysql sql mysql-5.7 fuzzy-comparison