根据MySQL中的值查找表的相似行

时间:2019-02-26 08:49:50

标签: mysql

我想根据列的值为现有行找到类似的内容。我尝试通过一个例子来解释。

----------------------------
 id |  name   |   username
----------------------------
 1  |  Ahmet  |    amini
----------------------------
 2  |  Nima   |    azimzadeh
----------------------------
 3  |  Akbar  |    amiini
----------------------------

我有一个username值,如 samins ,而我想要的是获取row 1row 3,类似于 samins

所以我想要这样的结果:

----------------------------
 id |  name   |   username
----------------------------
 1  |  Ahmet  |    amini
----------------------------
 3  |  Akbar  |    amiini
----------------------------

有什么办法可以通过MySQL做到这一点?

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

SELECT * FROM TableName WHERE soundex(`username`) = soundex('samins');

Soundex是一种语音算法,用于在声音的英语发音后索引名称。

SOUNDEX()函数具有以下限制:

  • 该功能(目前已实现)旨在与仅英语语言的字符串配合使用。其他语言的字符串可能不会产生可靠的结果。
  • 不能保证此函数为使用多字节字符集(包括utf-8)的字符串提供一致的结果。

有关soundex的更多阅读内容:http://www.postgresonline.com/journal/archives/158-Where-is-soundex-and-other-warm-and-fuzzy-string-things.html

  

来自:https://stackoverflow.com/a/41629952/10412218