I have different sulution, but i dont't know if this is usefull for you:
select distinct (select avg(value) from tableA where id >= 1 and id <=10) as values_1_10,
(select avg(value) from tableA where id >=11 and id <=20 ) as values_11_20,
(select avg(value) from tableA where id >=21 and id <=30) as values_21_30
from tableA
result:
values_1_10 | values 11_20 | values 21_30
-----------------------------------------------
45 | 56 | 67
bye