PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेज एग्रीगेट फंक्शन कॉल्स को नेस्ट नहीं किया जा सकता है

मुझे लगता है कि आपको पहले और योग परिणामों के कुछ समूहों के लिए आंतरिक सूत्र की गणना करने की आवश्यकता है। मैं product का उपयोग कर रहा हूं कॉलम को समूहबद्ध करने के लिए एक मनमाना विकल्प के रूप में कॉलम। मैंने Count . का भी नाम बदल दिया है dcount . के लिए ।

SQLFiddle

नमूना डेटा:

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

प्रश्न:

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

मुद्दा यह है कि आप कुल कार्यों को घोंसला नहीं बना सकते हैं। यदि आपको समुच्चय एकत्र करने की आवश्यकता है तो आपको सबक्वेरी का उपयोग करने की आवश्यकता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. फ़ंक्शन मौजूद नहीं है, लेकिन मुझे सच में लगता है कि यह करता है

  2. मैं एक ActiveRecord मॉडल विशेषता को json से jsonb में कैसे माइग्रेट करूं?

  3. pg_dump --exclude-table के साथ अभी भी पृष्ठभूमि में वे टेबल शामिल हैं COPY कमांड जो इसे चलाता है?

  4. PostgreSQL:किसी अन्य तालिका से सम्मिलित करें

  5. PSQLException:त्रुटि:tsquery में सिंटैक्स त्रुटि