cr_do_percent_rank.sql
Save this script as cr_do_percent_rank.sql
.
create or replace procedure do_percent_rank(no_of_buckets in int)
language sql
as $body$
insert into results(method, bucket, n, min_s, max_s)
with
measures as (
select
score,
(percent_rank() over w) as measure
from t4_view
window w as (order by score))
,
bucket as (
select
bucket(measure::numeric, 0::numeric, 1::numeric, $1) as bucket,
score
from measures)
select
'percent_rank',
bucket,
count(*),
min(score),
max(score)
from bucket
group by bucket;
$body$;