Afonso_Diaz2023-10-23 12:25 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 WALLET_AGE = 1 THEN '1 Day'
    WHEN WALLET_AGE < 5 THEN '1 - 5 Days'
    WHEN WALLET_AGE < 10 THEN '5 - 10 Days'
    WHEN WALLET_AGE < 30 THEN '10 - 30 Days'
    WHEN WALLET_AGE < 60 THEN '30 - 60 Days'
    WHEN WALLET_AGE < 90 THEN '60 - 90 Days'
    WHEN WALLET_AGE < 180 THEN '90 - 180 Days'
    WHEN WALLET_AGE < 364 THEN '180 - 364 Days'
    WHEN WALLET_AGE < 728 THEN '364 - 728 Days'
    WHEN WALLET_AGE < 1092 THEN '728 - 1092 Days'
    ELSE 'More Than 3 YEARS'
    END AS TYPE,
    Run a query to Download Data