Mysql有一个自带的函数soundex,但是只能对英文进行模糊匹配: mysql> select soundex('microsoft'); +----------------------+ | soundex('microsoft') | +----------------------+ | M26213 | +----------------------+ 1 row in set (0.00 sec) mysql> select soundex('macrosoft'); +----------------------+ | soundex('macrosoft') | +----------------------+ | M26213 | +----------------------+ 1 row in set (0.00 sec) 所以我能想到的唯一办法也许你可以考虑另建一个字段,然后把所有的地址批量转化为拼音,也许可以用soundex加group by的方式过滤一下。 或者另外的作法是考虑用SUBSTRING(address, 1, 3)这样的函数取出某列的前3个字符进行group by。
Mysql有一个自带的函数soundex,但是只能对英文进行模糊匹配:
所以我能想到的唯一办法也许你可以考虑另建一个字段,然后把所有的地址批量转化为拼音,也许可以用soundex加group by的方式过滤一下。
或者另外的作法是考虑用SUBSTRING(address, 1, 3)这样的函数取出某列的前3个字符进行group by。