PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

panggilan fungsi agregat postgres mungkin tidak bersarang

Saya akan berasumsi bahwa Anda perlu menghitung rumus bagian dalam untuk beberapa kelompok item terlebih dahulu dan kemudian menjumlahkan hasil. Saya menggunakan product kolom sebagai pilihan arbitrer untuk mengelompokkan kolom. Saya juga mengganti nama Count ke dcount .

SQLFiddle

Contoh data:

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);

Pertanyaan:

select
  sum(frequency) as frequency
from 
  (
  select
    product,
    sum((impressions / dcount::numeric) * volume) / sum(volume) as frequency
  from 
    sample
  group by
    product
  ) x;

Intinya adalah Anda tidak dapat membuat sarang fungsi agregat. Jika Anda perlu menggabungkan agregat maka Anda perlu menggunakan subquery.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mungkin untuk menambahkan string Anda sendiri ke Django SearchVectorField?

  2. Tidak ada liblwgeom saat menggunakan postgresql84 dan postgis di Snow Leopard dengan MacPorts

  3. Mendapatkan [pengarsip] versi yang tidak didukung (1.13) di header file saat menjalankan pg_restore

  4. Tabel dalam memori di PostgreSQL

  5. Bagaimana saya bisa mendapatkan jarak antara dua titik di Bumi dari PostGIS?