计算第95百分位值?

时间:2011-07-22 00:04:30

标签: sql sql-server sql-server-2008 statistics

我正在尝试计算表格列中的第95个百分点,并使用TOP 95 PERCENT构造。我想知道以下方法是否正确,或者是否有更好的方法来做同样的事情。

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

3 个答案:

答案 0 :(得分:4)

当您访问SQL Server 2012时,PERCENTILE_DISCPERCENTILE_CONT函数会在单个查询中解决此问题。

答案 1 :(得分:3)

这会让你获得(大致)97.5个百分点,因为你取得了前5%的平均值。您想要SELECT MIN(Value)

答案 2 :(得分:0)

Ntile是将数据划分为“tile”的地方,我们可以将其视为具有大小的tile,并且所有这些大小对于每个tile都是相同的。对于您的第95个百分位数,您需要第95次分割数据的位置。那将是第95百分位或MIN的开始,而不是MAX。