SniperCompare maximum and minimum recorded time between two blocks
    Updated 2022-07-27
    with polygon as ( select block_timestamp , lead(block_timestamp) over(order by block_number) as block , datediff('second',block_timestamp,block) as diff
    from polygon.core.fact_blocks
    ),
    flow as ( select block_timestamp , lead(block_timestamp) over(order by BLOCK_HEIGHT) as block , datediff('second',block_timestamp,block) as diff
    from flow.core.fact_blocks)
    ,
    solana as ( select block_timestamp , lead(block_timestamp) over(order by block_id) as block , datediff('second',block_timestamp,block) as diff
    from solana.core.fact_blocks)
    ,
    arbitrum as ( select block_timestamp , lead(block_timestamp) over(order by block_number) as block , datediff('second',block_timestamp,block) as diff
    from arbitrum.core.fact_blocks)
    ,
    optimism as ( select block_timestamp , lead(block_timestamp) over(order by block_number) as block , datediff('second',block_timestamp,block) as diff
    from optimism.core.fact_blocks)

    select 'Polygon' as type , max(diff) as max_ , min(diff) as min_
    from polygon
    where diff > 0
    group by 1
    UNION
    select 'Flow' as type , max(diff) as max_ , min(diff) as min_
    from flow
    where diff > 0
    group by 1
    UNION
    select 'Solana' as type , max(diff) as max_ , min(diff) as min_
    from solana
    where diff > 0
    group by 1
    UNION
    select 'Arbitrum' as type , max(diff) as max_ , min(diff) as min_
    from arbitrum
    where diff > 0
    group by 1
    UNION
    select 'Optimism' as type , max(diff) as max_ , min(diff) as min_
    Run a query to Download Data