WITH first_pool_dates as (
SELECT
pool_ids[0],
MIN(date(block_timestamp)) as first_swap_date
FROM osmosis.core.fact_swaps
WHERE array_size(pool_ids) = 1
GROUP BY pool_ids
)
SELECT
first_swap_date,
COUNT(first_swap_date) as pools_launched,
SUM(pools_launched) over (ORDER BY first_swap_date ASC) as cumulative_pools_launched
FROM first_pool_dates
GROUP BY first_swap_date
ORDER BY first_swap_date ASC