Функция принимает на вход процентное значение (P) и условие сортировки, возвращает элемент из набора — наименьшее значение функции CUME_DIST, которое больше или равно значению P.
PERCENTILE_DISC(expr) WITHIN GROUP (ORDER BY expr [ DESC | ASC ]) [ OVER (query_partition_clause) ]
Пример
with t as (select 1 id, 10 val from dual union all select 2 id, 20 val from dual union all select 3 id, 30 val from dual union all select 4 id, 50 val from dual union all select 5 id, 70 val from dual ) select id, val, cume_dist() over (order by val) "Cume_Dist", percentile_disc(0.50) within group (order by val) over() "percentile_disc" from t order by val; ID VAL Cume_Dist percentile_disc ---------- ---------- ---------- --------------- 1 10 0,2 30 2 20 0,4 30 3 30 0,6 30 4 50 0,8 30 5 70 1 30
Последние комментарии