gpt4 book ai didi

php - 删除 MySQL 中所有某些重复条目的第一行

转载 作者:行者123 更新时间:2023-11-30 23:38:08 28 4
gpt4 key购买 nike

我的问题是我的表中有重复的条目。然而,事情并没有那么简单。有些是有效的重复项,有些则不是。例如,E Pearl River, NYEast Pearl River, NY 是同一个城市,而 Bardonia, NYNanuet, NY 不是。因此,如果我删除所有重复项,它会删除像 Bardonia 这样的有效城市。

我的问题是,有没有人知道一种方法(用 SQL 或任何编程语言)遍历每一行并执行以下操作:

  • 检查行是否重复
  • 检查 city 是否有部分匹配(即 E Pearl River, NY 和 East Pearl River, NY)
  • 删除第一个的重复行
  • 如果 city(即 Bardonia, NY 和 Nanuet, NY)没有部分匹配,则继续。

之前

+—————————+——————————————————————+
| zipcode | city |
+—————————+——————————————————————+
| 10956 | E Pearl River, NY |
| 10956 | East Pearl River, NY |
| 10977 | Spring Valley, NY |
| 10954 | Bardonia, NY |
| 10954 | Nanuet, NY |
+—————————+——————————————————————+

之后

+—————————+——————————————————————+
| zipcode | city |
+—————————+——————————————————————+
| 10956 | East Pearl River, NY |
| 10977 | Spring Valley, NY |
| 10954 | Bardonia, NY |
| 10954 | Nanuet, NY |
+—————————+——————————————————————+

非常感谢任何帮助!

最佳答案

您的问题没有简单的解决方案,因为它涉及自然语言处理。

您如何定义 E Pearl River, NYEast Pearl River, NY 重复?东西珠江呢?对于自然语言处理,您应该看看 LuceneMySQL Full-Text Search .

对于相当简单(但不一定非常准确)的解决方案,您可以尝试实现简单的 Levenshtein distance测量。

关于php - 删除 MySQL 中所有某些重复条目的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755439/

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