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