with maintable as (
select delegator,
case when action in ('DelegatorTokensCommitted','TokensCommitted') then 'Stake'
when action in ('DelegatorUnstakedTokensWithdrawn','UnstakedTokensWithdrawn') then 'Unstake'
when action in ('DelegatorRewardTokensWithdrawn','RewardTokensWithdrawn') then 'Claim Reward' end as action_type,
count (distinct tx_id) as TX_Count,
count (distinct delegator) as Users_Count,
sum (amount) as Total_Volume,
avg (amount) as Average_Volume,
median (amount) as Median_Volume,
min (amount) as Min_Volume,
max (amount) as Max_Volume
from flow.core.ez_staking_actions
where tx_succeeded = 'TRUE'
group by 1,2)
select delegator,
tx_count,
total_volume
from maintable
where action_type = 'Unstake'
order by 2 DESC
limit 10