with base as (select date_trunc('second', block_timestamp) as second,
count(distinct(tx_hash)) as count_tx
from ethereum.core.fact_transactions
where block_timestamp >= '2022-06-01'
group by 1),
base2 as (select date_trunc('hour',second) as day,
count_tx
from base)
select avg(count_tx) as "TPS by Hour",
'Average TPS by Hour' as "Min, Avg and Max"
from base2
union
select max(count_tx),
'Max TPS by Hour'
from base2
union
select min(count_tx),
'Min TPS by Hour'
from base2
order by 1 asc