首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ActiveRecord中查找原始记录以外的重复记录

如何在ActiveRecord中查找原始记录以外的重复记录
EN

Stack Overflow用户
提问于 2014-10-17 17:08:07
回答 1查看 1.1K关注 0票数 0

使用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

但这是所有的记录,我想要所有的复制的,除了原来的,我正在比较它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-17 17:21:12

我假设您的查询返回数组b中具有相同电话号码的所有“引线”。

b = b.shift

它从b数组中取出第一个元素。然后你可以继续你原来的想法update_attributes(:duplicate => true)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26430049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档