with listtable as (
select project_name,
address,
min (block_timestamp::date) as listing_date
from osmosis.core.fact_swaps t1 join osmosis.core.dim_tokens t2 on t1.from_currency = t2.address
group by 1,2 having listing_date >= '2022-11-01'),
table1 as (
select block_timestamp,
tx_id,
trader,
from_currency,
address,
project_name,
row_number () over (partition by trader order by block_timestamp asc) as RN
from osmosis.core.fact_swaps t1 join listtable t2 on t1.to_currency = t2.address
where tx_succeeded = ' TRUE')
select block_timestamp::date as date,
project_name,
case when rn = '1' then 'Performed Their First-Ever Swap on Osmosis With Listed Token'
else 'Performed Swaps With Other Tokens Before' end as status,
count (Distinct trader) as Users_Count
from table1
where status = 'Performed Their First-Ever Swap on Osmosis With Listed Token'
and block_timestamp >= '2022-11-01'
group by 1,2,3
order by 3 desc