Я ищу лучший способ получить сумму абсолютных значений с помощью Ruby и Postgres.Абсолютная ценность в postgres
Я попытался строку ниже, но это дает неправильную сумму:
Day.last.transactions.sum { |r| r.value_cents.abs }
Я ищу лучший способ получить сумму абсолютных значений с помощью Ruby и Postgres.Абсолютная ценность в postgres
Я попытался строку ниже, но это дает неправильную сумму:
Day.last.transactions.sum { |r| r.value_cents.abs }
Вы можете сделать это с Postgres, как это что гораздо быстрее, чем тянуть все в Rails и делать расчет там.
Day.last.transactions.pluck('sum(abs(value_cents))::integer')
Моя ошибка и ваше решение работает! –
Рад это слышать! – Iceman
Неправильно, каким образом? Это кажется довольно простым, хотя он все тянет все в Rails и делает там суммирование, а не в db, которое было бы быстрее. – Iceman
Вызов '.to_a' в вашей коллекции транзакций может помочь –