我正在寻找使用 Ruby 和 Postgres 获取绝对值总和的最佳方法。
我已经尝试过下面的行,但它提供了错误的总和:
Day.last.transactions.sum { |r| r.value_cents.abs }
Run Code Online (Sandbox Code Playgroud)
您可以像这样使用 Postgres 来完成此操作,这比将所有内容拖入 Rails 并在那里进行计算要快得多。
Day.last.transactions.pluck('sum(abs(value_cents))::integer')
Run Code Online (Sandbox Code Playgroud)