WITH daily_mints AS (
SELECT
date_trunc('day', block_time) as dt,
count(*) as num_mints
FROM nft.mints
WHERE
block_time >= cast('2022-01-01' as date)
and date_trunc('day', block_time) < date_trunc('day', current_timestamp)
GROUP BY 1
)
SELECT
et.dt,
et.num_transactions,
et.users,
et.gas_used,
et.avg_gas_used,
et.avg_gas_price,
dm.num_mints,
avg(dm.num_mints) over () as avg_daily_mints
FROM (
SELECT
date_trunc('day', block_time) as dt,
count(hash) as num_transactions,
count(distinct "from") as users,
sum(gas_used) as gas_used,
avg(gas_used) as avg_gas_used,
avg(gas_price)/1e9 as avg_gas_price
FROM ethereum.transactions
WHERE
success
and block_time >= cast('2022-01-01' as date)
and date_trunc('day', block_time) < date_trunc('day', current_timestamp)
GROUP BY 1
) et
LEFT JOIN daily_mints dm ON et.dt = dm.dt