You can calculate the number of sessions each user had within the selected date-range, and then segment the users by this number. We added the ‘ordr’ column as a work around to show the segments in the right order. Use the Bar visualization: X axis = Number_Of_sessions and Y axis = Users
select
case when session_count = 1 then "1"
when session_count = 2 then "2"
when session_count = 3 then "3"
when session_count = 4 then "4"
when session_count = 5 then "5"
when session_count = 6 then "6"
when session_count = 7 then "7"
when session_count = 8 then "8"
when session_count > 8 and session_count < 15 then "9-14"
when session_count > 14 and session_count < 26 then "15-25"
when session_count > 25 and session_count < 51 then "26-50"
when session_count > 50 and session_count < 101 then "51-100"
when session_count > 100 and session_count < 200 then "101-200"
when session_count > 200 then "200+"
end as Number_Of_Sessions
, count(distinct user_id, exact) as Users
, max(session_count) as ordr
from ( select user_id, count(distinct session_id, exact) as session_count
from cooladata
where date_range(context)
and filters(context)
group by 1 )
where session_count is not null
group by 1
having Users is not null and Number_Of_Sessions is not null
order by ordr