with prices as (
select
date(TIMESTAMP) as day,
TOKEN_CONTRACT,
avg(PRICE_USD) as price_usd
from
flow.core.fact_prices
group by
day, TOKEN_CONTRACT
), nft_sales as (
select
date(block_timestamp) as day,
count(distinct TX_ID) as transactions_count,
sum(PRICE*PRICE_USD) as volume
from
flow.core.ez_nft_sales a join prices b on a.currency=b.TOKEN_CONTRACT and date(a.block_timestamp)=b.day
group by
1
)
select
date_trunc('month', day) as dt,
sum(transactions_count) as tx_count,
sum(volume) as vol
from
nft_sales
group by
dt
order by
dt asc