PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

các lệnh gọi hàm tổng hợp postgres có thể không được lồng vào nhau

Tôi sẽ giả sử rằng bạn cần phải tính toán công thức bên trong cho một số nhóm mục trước và hơn là kết quả tính tổng. Tôi đang sử dụng product cột như một lựa chọn tùy ý để nhóm cột. Tôi cũng đã đổi tên Count thành dcount .

SQLFiddle

Dữ liệu mẫu:

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

Truy vấn:

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

Vấn đề là bạn không thể lồng các hàm tổng hợp. Nếu bạn cần tổng hợp các tổng hợp thì bạn cần sử dụng truy vấn con.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Một thiết kế PHP, Python, PostgreSQL có phù hợp cho một ứng dụng kinh doanh không?

  2. pg_restore Alternatives - PostgreSQL Backup và Automatic Recovery with ClusterControl

  3. Flask before_request và teardown_request cho các kết nối DB

  4. PostgreSQL chuyển đổi tên tháng thành số

  5. Các hiệp hội trong phần tiếp theo không hoạt động như dự kiến