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

पूर्ण बाहरी जॉइन का उपयोग किए बिना कॉलम में सशर्त रूप से समूह कैसे करें

जहाँ तक मैं बता सकता हूँ यह एक साधारण सशर्त एकत्रीकरण है:

select id, 
       array_agg(amount) filter (where type = 'Customer') as customer_array,
       sum(amount) filter (where type = 'Customer') as customer_sum,
       array_agg(amount) filter (where type = 'Partner') as partner_array,
       sum(amount) filter (where type = 'Partner') as partner_sum
from table_a
group by id;

यदि आप NULL . के बजाय एक खाली सरणी चाहते हैं वैल्यू, एग्रीगेशन फंक्शन्स को coalesce() . में रैप करें :

select id, 
       coalesce((array_agg(amount) filter (where type = 'Customer')),'{}') as customer_array,
       coalesce((sum(amount) filter (where type = 'Customer')),0) as customer_sum,
       coalesce((array_agg(amount) filter (where type = 'Partner')),'{}') as partner_array,
       coalesce((sum(amount) filter (where type = 'Partner')),0) as partner_sum
from table_a
group by id;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में ऑपरेशन क्वेरी के इस घंटे को पूरा करें

  2. पोस्टग्रेस टाइमस्टैम्प इंडेक्स को अनदेखा कर रहा है, क्यों?

  3. EXECUTE FORMAT का उपयोग कैसे करें ... पोस्टग्रेज फ़ंक्शन में उपयोग करना

  4. Django/Python:सेटिंग पर पॉइंट टू पॉइंट अपडेट करें।AUTH_USER_MODEL

  5. किसी वर्ण की पहली घटना के बाद स्ट्रिंग काटें