更改表

时间:2016-10-13 08:11:56

标签: ruby-on-rails postgresql activerecord

快速提问,因为我在这个问题上变得疯狂。 我有一个表格,我保存了大量的分析数据,我必须把这些数据放在桌子上。

每条记录都有这种结构:

id: 1,
user_id: 4,
store_id: 490,
company_id: 1,
completed_courses_percentage: 87

此时我按公司对用户进行分组,然后我使用普通方法创建一个表格,其中包含按公司分组的平均已完成课程百分比。

UserActivity.group(:company_id).average(:completed_courses_percentage)

如果我有一个公司的三个人,平均分别是0,50和100,那么现在的总平均值是50%。

顺便提一下,我需要改变计算平均值的方式:我必须计算属于具有completed_courses_percentage>的公司的人的平均值。 70。

我尝试使用

UserActivity.group(:company_id).having("completed_courses_percentage > 70")

但结果是0。

1 个答案:

答案 0 :(得分:4)

你可以试试这个。

UserActivity.where("completed_courses_percentage > 70").group(:company_id).average(:completed_courses_percentage)
P.S:没试过这个。