如果我的数据库中有用户重复,我无法找到从单个查询中查找的方法。
如何使用ActiveRecord查询在Ruby中查找重复的用户?
答案 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")