DoomUnit,
coalesce, не?
# select a,b,c,(coalesce(a,0)+coalesce(b,0)+coalesce(c,0)) as sum, ((coalesce(a,0)+coalesce(b,0)+coalesce(c,0))/3)::decimal(4,2) as avg from tt;
a | b | c | sum | avg
---+---+---+-----+------
5 | 1 | | 6 | 2.00
2 | 1 | | 3 | 1.00
1 | | 5 | 6 | 2.00
1 | | 2 | 3 | 1.00