2017-01-16 8 views
1

RubyとPostgresで絶対値の合計を得るための最良の方法を探しています。ポストグルーの絶対値

私は、以下の行を試みたが、それは間違った合計を提供します。

Day.last.transactions.sum { |r| r.value_cents.abs } 
+0

どのように間違っていますか?これは、Railsにすべてを引き込み、dbの代わりに集計を行いますが、より速くてもかなり簡単です。 – Iceman

+0

あなたのトランザクションコレクションで '.to_a'を呼び出すと助けになるかもしれません –

答えて

4

あなたがRailsのにすべてを引っ張り、そこに計算を行うよりもはるかに高速である。このようなPostgresのでそれを行うことができます。

Day.last.transactions.pluck('sum(abs(value_cents))::integer') 
+0

私の間違いとあなたの解決策は動作します! –

+0

それを聞いてうれしい! – Iceman