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

पोस्टग्रेज़ विंडो फ़ंक्शन का उपयोग करके अकाउंटिंग सॉफ़्टवेयर में शेष राशि की गणना कैसे करें

select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
order by id

बेला: http://sqlfiddle.com/#!15/97dc5/2/0

अपने कॉलम नाम "इन" / "आउट" को बदलने पर विचार करें ताकि आपको उन्हें उद्धरणों में डालने की आवश्यकता न हो। (वे आरक्षित शब्द हैं)

यदि आप केवल एक ग्राहक चाहते हैं (customer_id =2):

select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
where customer_id = 2
order by id

यदि आपकी क्वेरी कई ग्राहकों तक फैली हुई थी और आप एक चालू शेष राशि चाहते थे जो प्रत्येक ग्राहक के साथ फिर से शुरू हो, तो आप इसका उपयोग कर सकते हैं:

select t.*, sum("In"-"Out") over( partition by customer_id
                                  order by customer_id, id ) as balance_by_cust
from tbl t
order by customer_id, 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 12 में नया:जेनरेट किए गए कॉलम

  2. पूर्णांकों का विभाजन 0 . लौटाता है

  3. PHP में डायनामिक पोस्टग्रेज तैयार स्टेटमेंट कैसे बनाएं?

  4. कॉलम एएससी द्वारा क्रमबद्ध करें, लेकिन पहले नल मान?

  5. PostgreSQL त्रुटि लॉग को कैसे डिकोड करें