次のコードがあり、LossAmount列と一緒にシーケンス列を作成するテーブルからLossAmount値を選択し、特定のシーケンス番号に応じてLossAmount値を選択しています。
declare @percent float
set @percent = 0.95
select LossAmount
from (select LossAmount, seq = ROW_NUMBER() over (order by LossAmount desc) from dbo.TestXB_TotalLoss) as p
where p.seq =((select COUNT(*) from dbo.TestXB_TotalLoss)-((select COUNT(*) from dbo.TestXB_TotalLoss)*@percent))
つまり、LossAmount列に1000行あるとすると、p.seqの式は1000-1000(0.95)
です。そのシーケンス番号(50)でLossAmount値を選択しています。
私の場合、私のパラメーターはスカラーです。計算したいさまざまなパーセントがある場合、どうすればコードを更新できますか?次の表、dbo.Percentilesがあります
Percentiles
0.4
0.6
0.996
私の出力のために、私はこのようなものが欲しいです。
Percentiles LossAmount
0.4 ...some #...
0.6 ...some #...
0.996 ...some #...
どんな助けでもありがたいです。