mam metody takie jak to:Jak uniknąć PG :: NumericValueOutOfRange podczas korzystania z funkcji SUMA
def self.weighted_average(column)
sql = "SUM(#{column} * market_cap)/SUM(market_cap) as weighted_average"
Company.select(sql).to_a.first.weighted_average
end
Kiedy kolumna jest decimal
, zwraca wartość bez problemu. Ale gdy kolumna jest integer
, metoda kończy się błędem PG::NumericValueOutOfRange
.
Czy należy zmienić typ kolumny integer
na decimal
, czy jest jakiś sposób uzyskania wyniku sum
bez zmiany typu kolumny?
'column' jest nazwa kolumny modelu. To jest po prostu 'String' lub' Symbol'. – ironsand