gpt4 book ai didi

具有变异容忍度的 MySQL SELECT DISTINCT

转载 作者:可可西里 更新时间:2023-11-01 07:50:13 25 4
gpt4 key购买 nike

在我的数据库中,我有很多非常相似但不完全相同的条目。例如,只有两个字符可能不同,例如:

Row1:“天气不错,看http://xyz56.com

Row2:“天气不错,看http://xyz31.com

我想去掉这些部分重复项,只收到这两行的一个结果。不管是哪一个,我建议使用出现的第一个。

我可以利用 MySQL 的任何功能来高效地完成这项工作吗?我的第一个想法是提取更多数据并对字符串进行比较,如果匹配字符超过某个阈值而不是忽略它。缺点是我永远不知道我必须从数据库中提取多少条目,而且它的效率也很低,因为我必须将每一行与所有其他行进行比较 (O(n²))。

更新:更具体地说明用例:变化的位置并不总是在字符串的末尾,它也可能不仅仅是 2 个字符发生变化。字符串长度因每一行而异。

最佳答案

我的建议是使用 Levenshtein distance ,这是字符串相似性的度量。要让 MySQL 直接计算它,您必须在存储过程中实现它,示例如下:http://www.artfulsoftware.com/infotree/queries.php#552 .

还有 PHP 和 Java 的通用实现。

关于具有变异容忍度的 MySQL SELECT DISTINCT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6344459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com