select count(distinct buyer)
from flow.core.fact_nft_sales
where
buyer not in (
select buyer from flow.core.fact_nft_sales where nft_collection like '%TopShot%'
group by 1
having sum(price) > 20000
order by 1 desc)
and nft_collection not like '%TopShot%'