Afonso_DiazGrouping users
    Updated 5 days ago
    with

    main as (
    select
    tx_id,
    block_timestamp,
    f.value['value'] as user
    from
    aleo.core.fact_transitions
    join
    lateral flatten(input => inputs) f
    where
    f.value['value'] ilike 'aleo%'
    ),

    users as (
    select
    user,
    count(distinct tx_id) as transactions
    from
    main
    group by 1
    )

    select
    case
    when transactions = 1 then 'a. 1 Transaction'
    when transactions <= 5 then 'b. 2 - 5 Transactions'
    when transactions <= 10 then 'c. 6 - 10 Transactions'
    when transactions <= 25 then 'd. 11 - 25 Transactions'
    when transactions <= 50 then 'e. 26 - 50 Transactions'
    else 'f. > 50 Transactions'
    end as user_type,
    count(distinct user) as users
    from
    users
    Last run: 5 days ago
    USER_TYPE
    USERS
    1
    a. 1 Transaction948787
    2
    b. 2 - 5 Transactions1222834
    3
    c. 6 - 10 Transactions246517
    4
    d. 11 - 25 Transactions82546
    5
    e. 26 - 50 Transactions116453
    6
    f. > 50 Transactions39407
    6
    197B
    12s