Sbhn_NPTop 10 Gainers overtime markets
    Updated 2022-08-25
    with tab1 as (
    SELECT to_address , count(DISTINCT tx_hash) as bets , sum(raw_amount/power(10, decimals)) as volume_in
    FROM optimism.core.fact_token_transfers a
    LEFT outer JOIN optimism.core.dim_contracts b
    ON b.address = a.contract_address
    WHERE from_address = lower('0x170a5714112daEfF20E798B6e92e25B86Ea603C1')
    AND (symbol = 'sUSD' OR symbol = 'USDC' OR symbol = 'DAI' OR symbol = 'USDT')
    AND BLOCK_TIMESTAMP > '2022-01-01'
    GROUP BY 1
    ),
    tab2 as (
    SELECT from_address as gainers , sum(raw_amount/power(10, decimals)) as volume_out
    FROM optimism.core.fact_token_transfers a
    LEFT outer JOIN optimism.core.dim_contracts b
    ON b.address = a.contract_address
    WHERE to_address = lower('0x170a5714112daEfF20E798B6e92e25B86Ea603C1')
    AND (symbol = 'sUSD' OR symbol = 'USDC' OR symbol = 'DAI'OR symbol = 'USDT')
    AND BLOCK_TIMESTAMP > '2022-01-01'
    GROUP BY 1
    ),
    tab3 as (
    SELECT gainers , bets ,
    case WHEN volume_out is NULL THEN -1 * volume_in ELSE volume_out - volume_in END as gain
    FROM tab1 a
    LEFT OUTER join tab2 b
    on a.to_address = b.gainers
    WHERE gain is NOT NULL
    AND gainers IS NOT NULL
    )

    SELECT gainers , gain
    FROM tab3
    ORDER by 2 desc
    LIMIT 10
    Run a query to Download Data