mlhOvertime Markets Profitable Traders 3
    Updated 2022-08-25
    with outflow as (SELECT from_address,
    sum(raw_amount/power(10, decimals)) as outflow
    FROM optimism.core.fact_token_transfers
    LEFT outer JOIN optimism.core.dim_contracts ON address = contract_address
    WHERE symbol LIKE 'sUSD'
    AND to_address LIKE lower('0x170a5714112daEfF20E798B6e92e25B86Ea603C1')
    AND block_timestamp > CURRENT_DATE - 14
    GROUP BY 1
    )
    SELECT CASE WHEN loss < -2000 THEN 'Over 2 K Loss'
    WHEN loss BETWEEN -2000 AND -1000 THEN '1 K to 2 K Loss'
    WHEN loss BETWEEN -1000 AND 0 THEN '0 and 1 K Loss'
    WHEN loss BETWEEN 0 AND 1000 THEN '0 to 1 K profit'
    WHEN loss BETWEEN 1000 AND 2000 THEN '1 K to 2 K profit'
    ELSE 'Over 2 K profit' END as user_group,
    count(DISTINCT from_address) as users,
    count(bet_count) as bets
    FROM (SELECT from_address,
    bet_count,
    case WHEN outflow is NULL THEN -1 * inflow ELSE outflow - inflow END as loss
    FROM (SELECT to_address,
    count(DISTINCT tx_hash) as bet_count,
    sum(raw_amount/power(10, decimals)) as inflow
    FROM optimism.core.fact_token_transfers
    LEFT outer JOIN optimism.core.dim_contracts on address = contract_address
    WHERE symbol LIKE 'sUSD'
    AND from_address LIKE lower('0x170a5714112daEfF20E798B6e92e25B86Ea603C1')
    AND block_timestamp > CURRENT_DATE - 14
    GROUP BY 1
    )
    LEFT OUTER join outflow on to_address = from_address
    HAVING NOT loss is NULL
    AND NOT from_address IS NULL
    )
    GROUP BY 1
    Run a query to Download Data