create table t as
select generate_series(1, 10) as id, generate_series(1000, 10000, 1000) as salary;
select
round(100.0 * sum(case when rn <= 3 then salary else null end) / sum(salary), 3) as perc
from (
select
salary,
dense_rank() over (order by salary desc) as rn
from t
)foo