with raw as (select
distinct(from_address) as address,
pool_name,
sum(amount_usd) as volume,
ROW_NUMBER() OVER (partition by pool_name ORDER BY volume desc) as rank
from ethereum.dex_swaps
where platform like '%sushiswap%'
and amount_usd is not null
group by 1,2
order by 3 desc)
select address, pool_name, volume, rank
from raw
where rank < 11