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

परपेचुअल वेटेड एवरेज कॉस्ट कैलकुलेशन SQL Server 2008

अगर मैं सही ढंग से समझूं, तो आप संचयी औसत मूल्य चाहते हैं।

यह दृष्टिकोण संचयी कुल मात्रा और भुगतान किए गए संचयी कुल की गणना करने के लिए उपश्रेणियों का उपयोग करता है। अनुपात औसत लागत है:

select t.*, cumepaid / cumeqty as avg_cost
from (select t.*,
             (select SUM(qty) from t t2 where t2.item_id = t.item_id and t2.purch_id <= t.purch_id
             ) as cumeqty,
             (select SUM(qty*unit_price) from t t2 where t2.item_id = t.item_id and t2.purch_id <= t.purch_id
             ) as cumepaid
      from t
     ) t

SQL सर्वर 2012 में, आप सीधे संचयी रकम की गणना करके ऐसा कर सकते हैं (अधिक कुशल होना चाहिए)। आप इसे cross apply . के साथ भी कर सकते हैं , लेकिन मुझे मानक SQL पसंद है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अपने SQL सर्वर कार्यभार को जानना

  2. क्वेरी तेजी से चलती है, लेकिन संग्रहीत प्रक्रिया में धीमी गति से चलती है

  3. एसक्यूएल आगामी जन्मदिन का चयन करें

  4. मैं SSRS में एक ड्रॉप-डाउन सूची पैरामीटर को -- All -- का डिफ़ॉल्ट मान रखने की अनुमति कैसे दूं?

  5. SQL सर्वर 2008 उत्पादन वातावरण में प्रदर्शन व्यक्त करता है?