with q1 as (
select
'algofi' as dex,
count(DISTINCT(swapper)) as users
from algorand.swaps
where swap_program = 'algofi'
and swapper not in (select DISTINCT(swapper) from algorand.swaps where swap_program = 'tinyman')
), q2 as (
select
'algofi + tinyman' as dex,
count(DISTINCT(swapper)) as users
from algorand.swaps
where swap_program = 'algofi'
and swapper in (select DISTINCT(swapper) from algorand.swaps where swap_program = 'tinyman')
)
SELECT * FROM q1
UNION
SELECT * FROM q2