我正在尝试计算表格列中的第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
答案 0 :(得分:4)
当您访问SQL Server 2012时,PERCENTILE_DISC和PERCENTILE_CONT函数会在单个查询中解决此问题。
答案 1 :(得分:3)
这会让你获得(大致)97.5个百分点,因为你取得了前5%的平均值。您想要SELECT MIN(Value)
答案 2 :(得分:0)
Ntile是将数据划分为“tile”的地方,我们可以将其视为具有大小的tile,并且所有这些大小对于每个tile都是相同的。对于您的第95个百分位数,您需要第95次分割数据的位置。那将是第95百分位或MIN的开始,而不是MAX。