select '2020-07-02'::date - "duedate"::date as days_passed_since_invoice_was_sent,
duedate,
contract_id,
paiddate,
paymentdueon,
component,
record_valid_from,
dueamount,
unpaidamount,
waivedamount
from dwd_tb_payment_schedule
where record_valid_to = '9999-12-31'
and unpaidamount > 0
order by duedate asc
मैं कैसे अनुबंध_आईडी द्वारा समूहित करूं? मैं postgresql 9.6 नए संपादन का उपयोग कर रहा हूं: तो मेरा उद्देश्य यहां अनुबंध_आईडी के देर से दिनों के कुल एनआर प्राप्त करना है। और फिर उस विशिष्ट डेटा बिंदु के लिए बाकी जानकारी दिखाने के लिए, इसलिए मैं अपनी तालिका के बाकी कॉलम भी चुन रहा हूं। उन स्तंभों के साथ मैं कुछ नहीं करना चाहता। वे जैसे हैं वैसे ही उन्हें छोड़ दें।
2 जवाब
यदि आप एक पंक्ति प्रति contract_id
चाहते हैं तो आप distinct on
का उपयोग कर सकते हैं:
select distinct on (contract_id) ('2020-07-02'::date - "duedate"::date) as days_passed_since_invoice_was_sent,
duedate, contract_id, paiddate, paymentdueon, component,
record_valid_from, dueamount, unpaidamount, waivedamount
from dwd_tb_payment_schedule
where record_valid_to = '9999-12-31' and unpaidamount > 0
order by contract_id, duedate asc;
यह प्रत्येक अनुबंध के लिए नवीनतम duedate
के साथ पंक्ति लौटाता है (जो निश्चित रूप से where
शर्तों को पूरा करता है)।
आपके प्रश्न के बारे में जो मैंने समझा है, उससे आप केवल एक कॉलम के आधार पर समूह बनाना चाहते हैं। मुझे लगता है कि यह PostgreSQL में किया जा सकता है। अधिक विकल्पों के लिए आप https://www.postgresqltutorial.com/postgresql-group-by/#:~:text=परिचय %20to%20PostgreSQL%20GROUP%20BY%20clause&text=SELECT%20column_1%2C%20column_2%2C%20aggregate_function(,list%20of%20comma%2Dseparated%20columns.
select '2020-07-02'::date - "duedate"::date as days_passed_since_invoice_was_sent,
duedate,
contract_id,
paiddate,
paymentdueon,
component,
record_valid_from,
dueamount,
unpaidamount,
waivedamount
from dwd_tb_payment_schedule
where record_valid_to = '9999-12-31'
and unpaidamount > 0
GROUP BY customer_id
order by duedate asc
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।