我尝试使用这两个列的总和进行以下划分。
Report.sum('(clicks_count / nullif(sum(views_count),0))')
但我收到错误PG::GroupingError: ERROR: aggregate function calls cannot be nested
。
我有点陷入如何在ActiveRecord中执行此查询,任何想法?
答案 0 :(得分:1)
尝试Report.sum(clicks_count) / Report.sum(view_count)
。
如果您只想使用一个查询,则可以使用pluck
:
Report.pluck('sum(clicks_count) / nullif(sum(views_count),0))').first
您还可以按其他属性进行分组(例如date
):
Report.group(:date).pluck('sum(clicks_count) / nullif(sum(views_count),0))')
这将为您提供每个date
的clicks_count金额除以views_count sum。