【发布时间】:2023-04-09 08:41:01
【问题描述】:
我在 MySQL 表中有几千条记录,只有 100 个字段。
一些记录是重复的,并被标记为这样。现在,虽然我可以简单地删除欺骗,但我想保留原始记录版本中不存在的任何其他可能有价值的非空数据。希望我说得通。
例如:
a b c d e f key dupe
--------------------
1 d c f k l 1 x
2 g h j 1
3 i h u u 2
4 u r t 2 x
从上面的示例表中,所需的输出是:
a b c d e f key dupe
--------------------
2 g c h k j 1
3 i r h u u 2
如果仔细观察,重复是通过使用 key 确定的(2 条记录相同,因此 dupe 字段为 'x' 的记录是通过保留一些来自欺骗的字段(如键 1 的 c、e 值)。
如果您需要有关这个令人费解的问题的更多信息,请告诉我。
非常感谢!
p.s : 如果无法使用 MySQL,那么 PERL/Python 脚本示例会很棒!谢谢!
【问题讨论】:
-
对于给定的键值是否有超过 1 条重复记录?
-
我猜这把钥匙并不是真正的“钥匙”(可能有一个血清门钥匙......)
-
被骗的不会超过一个。它们成对存在。关键只是区分骗子。
标签: mysql duplicates duplicate-data duplicate-removal