【发布时间】:2014-03-07 07:28:58
【问题描述】:
使用 Postgres 和 Activerecord 在多列中查找具有重复值的记录的最佳方法是什么?
我找到了这个解决方案here:
User.find(:all, :group => [:first, :email], :having => "count(*) > 1" )
但它似乎不适用于 postgres。我收到此错误:
PG::GroupingError: ERROR: column "parts.id" 必须出现在 GROUP BY 子句中或用于聚合函数中
【问题讨论】:
-
在常规 SQL 中,我会使用自联接,例如
select a.id, b.id, name, email FROM user a INNER JOIN user b USING (name, email) WHERE a.id > b.id。不知道如何在 ActiveRecord-speak 中表达。
标签: ruby-on-rails postgresql activerecord