使用Rails 4,Ruby2,MySql
我想在我的数据库中找到重复另一条记录的所有记录,但不是原始记录本身。
这样,我就可以在每一份记录上做update_attributes(:duplicate => true),并保留未标记为副本的原始记录。
你可以说我在寻找与Uniq相反的值*我不想要Uniq值,我想要的是事实之后不是uniq的所有值。我不想所有的值有一个重复,因为这将包括原始。
我不介意为此使用纯SQL或Ruby,但我更愿意使用active record来保存它。
假设表名为“Let”,我们正在寻找字段"telephone_number“是相同的那些。我将保留记录1,并将2,3和4标记为重复=真。
*如果我想要与Uniq相反的话,我可以做一些像Find keep duplicates in Ruby hashes这样的事情
b = a.group_by { |h| h[:telephone_number] }.values.select { |a| a.size > 1 }.flatten
但这是所有的记录,我想要所有的复制的,除了原来的,我正在比较它。
发布于 2014-10-17 17:21:12
我假设您的查询返回数组b中具有相同电话号码的所有“引线”。
b = b.shift
它从b数组中取出第一个元素。然后你可以继续你原来的想法update_attributes(:duplicate => true)
https://stackoverflow.com/questions/26430049
复制相似问题