with top as (
select row_number() over (partition by payer order by block_timestamp asc) as rank, payer, block_timestamp
from flow.core.fact_transactions
where block_timestamp::date >= '2022-05-15'
),
second_tx as(
select payer, block_timestamp as date
from top
where rank = 2
),
first_tx as(
select payer, block_timestamp as date
from top
where rank = 1
)
select avg(datediff(m, f.date, s.date)) as retation_by_minute
from first_tx f join second_tx s on f.payer = s.payer