with min_dates as (
SELECT
address,
STAKE_POOL_NAME,
date(min(block_timestamp)) as min_date
from
solana.core.fact_stake_pool_actions
where
succeeded
group by 1,2
)
select
STAKE_POOL_NAME,
count(distinct address) as cnt_daily_user,
row_number() over (order by cnt_daily_user desc) as rn,
concat(lpad(rn,3,'0'), ' - ', STAKE_POOL_NAME) as pool_name
from
min_dates
group by
1