Afonso_Diaz2023-10-23 12:16 AM
    Updated 2023-10-22
    WITH MAIN AS (
    SELECT
    ACTION,
    AMOUNT0_USD + AMOUNT1_USD AS AMOUNT_USD,
    BLOCK_TIMESTAMP,
    TX_HASH,
    LIQUIDITY_PROVIDER AS USER
    FROM ethereum.uniswapv3.ez_lp_actions
    WHERE AMOUNT_USD < POW(10, 6)
    ),

    USERS AS (
    SELECT
    USER,
    SUM(AMOUNT_USD) AS VOLUME,
    COUNT(DISTINCT TX_HASH) AS TRANSACTIONS,
    COUNT(DISTINCT BLOCK_TIMESTAMP::DATE) AS ACTIVE_DAYS_NUMBER,
    DATEDIFF('DAY', MIN(BLOCK_TIMESTAMP), CURRENT_DATE) AS WALLET_AGE
    FROM MAIN
    GROUP BY 1
    )

    SELECT
    CASE
    WHEN ACTIVE_DAYS_NUMBER = 1 THEN '1 Day Active'
    WHEN ACTIVE_DAYS_NUMBER < 5 THEN '1 - 5 Days Active'
    WHEN ACTIVE_DAYS_NUMBER < 10 THEN '5 - 10 Days Active'
    WHEN ACTIVE_DAYS_NUMBER < 5 THEN '10 - 30 Days Active'
    ELSE 'More Than 1 MONTH'
    END AS TYPE,
    COUNT(DISTINCT USER) AS USERS
    FROM USERS
    GROUP BY 1
    Run a query to Download Data