postgres 中的绝对值

1 postgresql ruby-on-rails

我正在寻找使用 Ruby 和 Postgres 获取绝对值总和的最佳方法。

我已经尝试过下面的行,但它提供了错误的总和:

Day.last.transactions.sum  { |r| r.value_cents.abs } 
Run Code Online (Sandbox Code Playgroud)

Eye*_*dic 5

您可以像这样使用 Postgres 来完成此操作,这比将所有内容拖入 Rails 并在那里进行计算要快得多。

Day.last.transactions.pluck('sum(abs(value_cents))::integer')
Run Code Online (Sandbox Code Playgroud)