gigiokobaDaily New and Returning Holders
    Updated 2024-06-19
    WITH FirstTransactions AS (
    SELECT
    swapper,
    MIN(DATE(block_timestamp)) AS first_transaction_date
    FROM
    solana.defi.fact_swaps
    WHERE
    swap_from_mint = '3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN'
    AND swapper IS NOT NULL
    GROUP BY
    swapper
    ),
    DailyTransactions AS (
    SELECT
    DATE(block_timestamp) AS transaction_date,
    swapper
    FROM
    solana.defi.fact_swaps
    WHERE
    swap_from_mint = '3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN'
    AND swapper IS NOT NULL
    )
    SELECT
    dt.transaction_date,
    COUNT(DISTINCT CASE WHEN dt.transaction_date = ft.first_transaction_date THEN dt.swapper ELSE NULL END) AS new_holders,
    COUNT(DISTINCT CASE WHEN dt.transaction_date != ft.first_transaction_date THEN dt.swapper ELSE NULL END) AS returning_holders
    FROM
    DailyTransactions dt
    LEFT JOIN
    FirstTransactions ft ON dt.swapper = ft.swapper
    GROUP BY
    dt.transaction_date
    ORDER BY
    dt.transaction_date;

    QueryRunArchived: QueryRun has been archived