使用Ruby查找重复的用户

时间:2015-06-11 10:15:02

标签: ruby rails-activerecord

如果我的数据库中有用户重复,我无法找到从单个查询中查找的方法。

如何使用ActiveRecord查询在Ruby中查找重复的用户?

数据库结构在这里:http://www.collectivestep.com/discoursedb/

2 个答案:

答案 0 :(得分:5)

举个例子,你想要找到具有相同名称和电子邮件的用户然后尝试这个,你会得到所有具有相同名称和电子邮件的用户,一旦你得到这个输出就删除那些用户,

User.find(:all, :group => :username, :having => "count(*) > 1" )

答案 1 :(得分:1)

对于MySql数据库,您可以尝试以下查询

User.find(:all, :group => [:username], :having => "count(*) > 1" )

对于Postgres,您可以尝试以下查询

User.select(:username).group(:username).having("count(*) > 1")