计算95百分位数的值?

3

我正在尝试计算表格列中的95th百分位点,并使用TOP 95 PERCENT结构。我想知道以下方法是否正确,或者是否有更好的方法。

SELECT AVG(Value) 
FROM
(
    SELECT TOP 95 PERCENT WITH TIES Value
    FROM [Sample].[dbo].[numbers]
    ORDER BY Value DESC
) AS NineP

你可以看一下这个链接:http://web.performancerasta.com/metrics-tips-calculating-95th-99th-or-any-percentile-with-single-mysql-query/ - James Black
也许这个解决方案能帮到你。 - Bogdan Sahlean
3个回答

4

3

这将使你达到(大约)97.5个百分点,因为你正在取前5%的平均值。你需要SELECT MIN(Value)


实际上,我认为它会给你大于等于第95个百分位数。如果第95个和第100个之间有均匀分布,那么它将给你第97.5个百分位数。但是我认为你的解决方案是正确的。 - Chris Shain
我意识到这在我的情况下不起作用,因为对于我的数据,它总是返回零。你是否知道如何使用 SQL Server 的 NTILE 函数来实现这个?当我传递 NTILE(100) 时,它会给我百分位数的输出,但对于第 95 个百分位数,我应该选择该四分位数中的最小值还是最大值? - Legend

1
Ntile是将数据分成“瓷砖”的地方,我们可以认为每个瓷砖都有一个大小,并且每个瓷砖的大小都相同。对于您的95th百分位数,您希望找到数据第95次分割的位置。那将是95th百分位数的开始或最小值,而不是最大值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接