Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perhitungan biaya rata-rata tertimbang abadi SQL Server 2008

Jika saya mengerti dengan benar, Anda menginginkan harga rata-rata kumulatif.

Pendekatan ini menggunakan subkueri untuk menghitung jumlah total kumulatif dan total kumulatif yang dibayarkan. Rasionya adalah biaya rata-rata:

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

Di SQL Server 2012, Anda dapat melakukan ini dengan menghitung jumlah kumulatif secara langsung (seharusnya lebih efisien). Anda juga dapat melakukan ini dengan cross apply , tapi saya lebih suka SQL standar.




  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 Server:Bagaimana cara menyimpan data biner (mis. File Word)?

  2. Cara Menggunakan FILEPROPERTY() di SQL Server

  3. Sintaks salah di dekat 'LIMIT' menggunakan mssql

  4. Cara mendapatkan daftar semua database dari server sql di kotak kombo menggunakan c#.net

  5. Bagaimana saya bisa menetapkan nilai output yang dimasukkan ke variabel di server sql?