Mysql 如果条件(大小)满足,如何计数记录

Mysql 如果条件(大小)满足,如何计数记录,mysql,ruby-on-rails-3,activerecord,count,Mysql,Ruby On Rails 3,Activerecord,Count,我有两个模型:用户和活动 我想计算所有用户,而不是管理员谁有超过5个活动。我可以获得非管理员用户,但我需要在计算记录之前进行一些计算/评估 这是我到目前为止所拥有的 a=User.where(:admin => false) a.joins(:activities).size 但是,我只希望有超过5个活动的用户。我如何用Ruby完成这样的事情?谢谢 我的用户模型是这样的 has_many :activities, :through => :projects 当我期望一个结果时,即

我有两个模型:用户和活动

我想计算所有用户,而不是管理员谁有超过5个活动。我可以获得非管理员用户,但我需要在计算记录之前进行一些计算/评估

这是我到目前为止所拥有的

a=User.where(:admin => false)
a.joins(:activities).size
但是,我只希望有超过5个活动的用户。我如何用Ruby完成这样的事情?谢谢

我的用户模型是这样的

has_many :activities, :through => :projects
当我期望一个结果时,即使最后是.size,也会返回一个数组。请告知

//对于Mods-我正在第三次编辑这个问题,为什么更新总是被删除?为什么我也不能发表评论//

用户模型:

class User < ActiveRecord::Base
  has_many :activities
end

如果您将
.size
添加到末尾,您将获得每个用户计数器的有序哈希。

@Gaelle,如果您想澄清您的问题,请编辑问题或添加注释。不要编辑答案。
users = User.where(:admin => false).joins(:activities).group('"activities"."user_id"').having('COUNT(activities.id) > 5')