我有以下代码,我从表中选择 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 #...
任何帮助将不胜感激。