Jag kommer att anta att du måste beräkna den inre formeln för vissa grupper av poster först och sedan summera resultaten. Jag använder product
kolumn som ett godtyckligt val för att gruppera kolumn. Jag döpte också om Count
till dcount
.
Exempeldata:
create table sample (
product varchar,
dcount int,
impressions int,
volume int
);
insert into sample values ('a', 100, 10, 50);
insert into sample values ('a', 100, 20, 40);
insert into sample values ('b', 100, 30, 30);
insert into sample values ('b', 100, 40, 30);
insert into sample values ('c', 100, 50, 10);
insert into sample values ('c', 100, 60, 100);
Fråga:
select
sum(frequency) as frequency
from
(
select
product,
sum((impressions / dcount::numeric) * volume) / sum(volume) as frequency
from
sample
group by
product
) x;
Poängen är att du inte kan kapsla aggregerade funktioner. Om du behöver sammanställa aggregat måste du använda subquery.