select
address,
case when label is not null then label else address end as validator_label,
voting_power,
100 * ratio_to_report(voting_power) over () as p_voting_power
from
(
select
address,
avg(voting_power) as voting_power
from
terra.validator_voting_power
where
block_timestamp > getdate() - interval '1 days'
group by
address
)
left join terra.validator_labels on vp_address = address
order by
p_voting_power desc