Возможно, вы что-то упустили в своем объяснении. Я только что попробовал ваш запрос в PostgreSQL 9.4 и работает без нареканий:
create table my_sum_table (
date date,
value real
);
insert into my_sum_table (date, value) values ('2018-01-01', 130.59);
insert into my_sum_table (date, value) values ('2018-01-02', 256.49);
insert into my_sum_table (date, value) values ('2018-02-15', 712.57);
select extract(Month from date)||'/'|| extract(Year from date) as month_year,
trunc(sum(value::double precision)::numeric, 2) as total
from my_sum_table
where extract(Year from date) =2018 and
extract(Month from date) between 01 and 05 group by extract(Month from
date),extract(Year from date) order by extract(Month from date);
Результат:
month_year total
---------------------------------------------------------------------
1/2018 387.07999
2/2018 712.57001
Просто к сведению, результирующий столбец total
имеет тип float4
.
Кроме того, вы показываете итоговый месяц как 01/2018
вместо 1/2018
. Это означает, что вы постобработка результат. Кажется, проблема в этой пост-обработке, а не в запросе PostgreSQL.