Afonso_DiazGrouping contracts
    Updated 2025-04-03
    WITH main AS (
    SELECT
    tx_hash,
    block_timestamp,
    origin_from_address AS user,
    contract_address
    FROM
    boba.core.fact_event_logs
    ),

    contract_activity AS (
    SELECT
    contract_address,
    COUNT(DISTINCT tx_hash) AS transactions
    FROM
    main
    GROUP BY 1
    )

    SELECT
    CASE
    WHEN transactions = 1 THEN '1 transaction'
    WHEN transactions <= 5 THEN '2 - 5 transactions'
    WHEN transactions <= 25 THEN '6 - 25 transactions'
    WHEN transactions <= 100 THEN '26 - 100 transactions'
    WHEN transactions <= 500 THEN '101 - 500 transactions'
    WHEN transactions <= 2000 THEN '501 - 2,000 transactions'
    WHEN transactions <= 7500 THEN '2,001 - 7,500 transactions'
    ELSE 'More than 7,500 transactions'
    END AS activity_category,
    COUNT(DISTINCT contract_address) AS contract_count
    FROM
    contract_activity
    GROUP BY 1
    ORDER BY 1
    QueryRunArchived: QueryRun has been archived