select
asset_id,
asset_name,
count(distinct address) as number_of_holders,
row_number() over (order by number_of_holders desc) as rank
from algorand.account_asset
where asset_name not ilike '%Pending Props%'
and asset_closed = 'FALSE'
and frozen = 'FALSE'
and amount > 0
and asset_id != 0
and asset_name not like '%Tinyman Pool%'
group by asset_id, asset_name
qualify rank < 11
order by rank