mahdishUntitled Query
    Updated 2022-09-14
    SELECT
    *,
    AVG(time_between_blocks) OVER (PARTITION BY network ORDER BY date) as avg_time_between_blocks
    FROM
    (
    SELECT
    date_trunc('day',end_time) as date,
    avg(diff_seconds) as time_between_blocks,
    'Ethereum' as network
    FROM (
    SELECT
    tt1.block_number as block_number,
    LAG(tt1.ts, 1) OVER(ORDER BY block_number) AS start_time,
    tt1.ts as end_time,
    TIMESTAMPDIFF(SECOND, LAG(tt1.ts, 1) OVER(ORDER BY block_number), tt1.ts) AS diff_seconds
    FROM (
    SELECT block_number, max(block_timestamp) AS ts
    FROM ethereum.core.fact_blocks
    GROUP BY block_number
    ORDER BY ts ASC ) as tt1
    WHERE DATE(tt1.ts) > CURRENT_DATE - 60 AND DATE(tt1.ts) < CURRENT_DATE
    )
    GROUP BY date

    UNION DISTINCT

    SELECT
    date_trunc('day',end_time) as date,
    avg(diff_seconds) as time_between_blocks,
    'Polygon' as network
    FROM (
    SELECT
    tt1.block_number as block_number,
    LAG(tt1.ts, 1) OVER(ORDER BY block_number) AS start_time,
    tt1.ts as end_time,
    TIMESTAMPDIFF(SECOND, LAG(tt1.ts, 1) OVER(ORDER BY block_number), tt1.ts) AS diff_seconds
    Run a query to Download Data