我的表看起来像这样:
| id (int) | sentence (varchar) |
我想找到除一个特定单词之外几乎相同的所有行。例如:
| 230 | test |
| 321 | test sth |
...
| 329 | is (sth) it?
| 923 | is it?
在这种情况下,可能不同的词是 sth 。理想情况下,我可以使用某种"数组"与可能不同的单词列表。
这是我纯粹在SQL中做的事情吗?
答案 0 :(得分:0)
只是一个未经测试的快速拍摄,抱歉,但我认为你可以做类似
的事情SELECT * FROM table GROUP BY REPLACE(text, 'sth', '')
答案 1 :(得分:0)
您可以使用SOUNDEX
。因此,使用您提供的示例,这些查询:
SELECT SOUNDEX('test')
SELECT SOUNDEX('test sth')
SELECT SOUNDEX('is (sth) it?')
SELECT SOUNDEX('is it?')
返回以下结果:
T230
T230
I200
I200
这意味着前两个和后两个 听起来像是。我无法确定的是,这对您的实际数据有多好,您只需要尝试。