【发布时间】:2017-12-01 07:16:11
【问题描述】:
我有要求:
Model.group(:p_id).pluck("AVG(desired)")
=> [0.77666666666666667e1, 0.431666666666666667e2, ...]
但是当我运行 SQL 时
SELECT AVG(desired) AS desired
FROM model
GROUP BY p_id
我明白了
-----------------
| desired |
|-----------------|
| 7.76666666666667|
|43.1666666666667 |
| ... |
-----------------
这是什么原因?当然我可以乘法,但我敢打赌,应该在哪里进行解释。
我发现了
Model.group(:p_id).pluck("AVG(desired)").map{|a| a.to_f}
=> [7.76666666666667,43.1666666666667, ...]
现在我正在处理其他任务,我需要数字属性,所以我的要求是:
Model.group(:p_id).pluck("p_id, AVG(desired)")
在这种情况下如何获得正确的 AVG 值?
【问题讨论】:
标签: ruby-on-rails postgresql activerecord rails-activerecord average