如何使用两个总和之间的执行划分

时间:2014-02-26 04:50:39

标签: ruby-on-rails activerecord

我尝试使用这两个列的总和进行以下划分。

Report.sum('(clicks_count / nullif(sum(views_count),0))')

但我收到错误PG::GroupingError: ERROR: aggregate function calls cannot be nested

我有点陷入如何在ActiveRecord中执行此查询,任何想法?

1 个答案:

答案 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。