I find myself needing to get percentile_cont values from array types and thus did this, wondering if anyone has any "you idiot that's available out of the box here" kind of feedback?
create or replace function public.percentile_array(numeric, numeric[])
returns real
language 'sql'
immutable
as $$
with u as (
select unnest($2) as i
)
select percentile_cont($1) within group (order by i asc) from u;
$$;
alter function public.percentile_array owner to postgres;
select public.percentile_array(0.9, array[1,2,3,4,5]); -- 4.6
returns real
language 'sql'
immutable
as $$
with u as (
select unnest($2) as i
)
select percentile_cont($1) within group (order by i asc) from u;
$$;
alter function public.percentile_array owner to postgres;
select public.percentile_array(0.9, array[1,2,3,4,5]); -- 4.6