sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2012:Beräkning av viktat medelvärde

Att beräkna WAM och WAIR är ganska enkelt. Tänk sumproduct() i Excel

Declare @YourTable table (SaleEventID  int,LID int,CurrentUPB money,[Interest Rate] money,RemainingMonths money)
Insert Into @YourTable values
(1,1,100000.00,6.100, 11.00),
(1,2,67000.00,6.200, 360.00),
(1,3,1400000.00,6.300, 240.00),
(1,4,500000.00,7.000, 100.00),
(2,5,1400000.00,7.100, 240.00),
(2,6,500000.00,7.000,100.00)


Select SaleEventID
      ,UPB  = sum(CurrentUPB)
      ,WAM  = sum(CurrentUPB*RemainingMonths)/sum(CurrentUPB)
      ,WAIR = sum(CurrentUPB*[Interest Rate] )/sum(CurrentUPB)
 From  @YourTable
 Where SaleEventID = @Event
 Group By SaleEventID

Retur

SaleEventID UPB         WAM         WAIR
1           2067000.00  198.9453    6.4564
2           1900000.00  203.1578    7.0736


  1. Min sql väljer från flera tabeller kontra join

  2. PDO i mysql prestanda

  3. Hur man uteslutande låser en rad som förhindrar CRUD-drift

  4. Vad är skillnaden mellan primärt index och sekundärt index exakt?