Andrew Baerg wrote:
> corp=# select amount from acc_trans where trans_id=19721 and
> chart_id=10019;
> amount
> ---------
> 4.88
> 117.1
> -121.98
> (3 rows)
>
> corp=# select sum(amount) from acc_trans where trans_id=19721 and
> chart_id=10019;
> sum
> ----------------------
> -1.4210854715202e-14
> (1 row)
>
This has nothing to do with SUM():
> select 4.88::float + 117.1::float + -121.98::float;
?column?
----------------------
-1.4210854715202e-14
(1 row)
It's just the inherent inexactness of floating point, and probably not
even particular to Postgres.
- John D. Burger
MITRE