簡體   English   中英

如何在Oracle SQL中計算Quantile 95

[英]How to calculate Quantile 95 in Oracle SQL

如何使用SQL或PL / SQL計算分位數95值?

使用SQL聚合或分析功能PERCENTILE_DISC() (或者也許是PERCENTILE_CONT() )。 Google為您的Oracle版本和函數名稱查找這些函數的Oracle文檔。

這是我可以在HR.EMPLOYEES表中找到第95個百分點的薪水的方法( HR是與許多Oracle數據庫一起安裝的標准HR模式):

select percentile_disc(0.95) within group (order by salary) as sal_95th_pctile
from   hr.employees
;

SAL_95TH_PCTILE
---------------
          13000

相反,如果我想在每個部門中找到第95個百分點的薪水,則可以使用分析版本:

select percentile_disc(0.95) within group (order by salary) 
                             over (partition by department_id) as sal_95th_pctile
from   hr.employees
;

對於HR.EMPLOYEES表,這沒有什么意義,因為每個部門只有幾個員工,所以“第95個百分位數”是沒有意義的。 但是,當所有“部門”都有許多可用來計算第95個百分位數的值時,您將采用這種方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM