11

非常に似ているが正確ではない重複したエントリがあります。ここではいくつかの例を示します。

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

- Hurt Locker
- The Hurt Locker

潜在的に似たものを取得するために使用できるクエリは何titlesですか?

アップデート

正確な重複を削除しようとしているわけではないことに注意してください。単一の列で同様の値を選択しようとしているだけです。

4

2 に答える 2

3

これが最良の方法であるか、最も効率的であるかはわかりません。間違いなく、同様の意味に依存します。意味が、タイトルが 1 つの行にすべてのテキストを含み、別の行に一部のテキストが含まれている場合、次のようなものが機能するはずです。

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

そして、これがSQL Fiddleです。

于 2013-02-12T21:18:13.080 に答える
3

これは、文字列メトリックで文字列間の距離を測定することで解決できると思います。

レーベンシュタインは最もよく知られている指標のようで、私は Oracle でその実装を使用しました。MySQLにも実装されています。より適切に機能する他のメトリックが見つかる場合があります。

于 2013-02-12T21:18:16.357 に答える