好的mysql查询可以在单个列中查找类似的值

Dav*_*542 11 mysql sql similarity

我有重复的条目非常相似,但不完全相同.这里有些例子:

- 2016: Obama's America
- 2016: Obama's America (VF)

- Hurt Locker
- The Hurt Locker
Run Code Online (Sandbox Code Playgroud)

什么是我可以用来获得潜在相似的查询titles

更新:请注意,我不是要删除EXACT重复项.我只想在一列中选择类似的值.

sge*_*des 3

不确定这是最好的方法或最有效的方法,这绝对取决于相似的含义。如果含义是标题包含一行中的所有文本,但另一行中的一些文本,那么类似这样的内容应该有效:

SELECT DISTINCT T.Title
FROM YourTable T
   LEFT JOIN YourTable T2 ON T.Title != T2.Title
WHERE T.Title LIKE CONCAT('%', T2.Title, '%')
UNION 
SELECT DISTINCT T2.Title
FROM YourTable T
   LEFT JOIN YourTable T2 ON T.Title != T2.Title
WHERE T.Title LIKE CONCAT('%', T2.Title, '%')
ORDER BY Title
Run Code Online (Sandbox Code Playgroud)

这是SQL Fiddle