with p as
(
SELECT block_timestamp as bt , block_number as bn from polygon.core.fact_blocks),
poly as
( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken,
avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'polygon' as type
from
( SELECT *
, timestampdiff(sql_tsi_second,bt, block_timestamp) as td
from p
inner join polygon.core.fact_blocks
on block_number = bn +1 )
where day>= CURRENT_DATE -90
GROUP by 1 )
SELECT * from poly
limit 100