i_danAPTOS: Transactions & TPS
    Updated 2024-09-27

    SELECT
    -- All time calculations
    COUNT(*) AS total_transactions
    , COUNT(DISTINCT sender) AS Total_users
    , DATEDIFF('second'
    , MIN(block_timestamp)
    , MAX(block_timestamp)) AS total_seconds
    , COUNT(*) / NULLIF(DATEDIFF('second'
    , MIN(block_timestamp)
    , MAX(block_timestamp))
    , 0) AS avg_all_time_tps
    -- Last 30 days calculations
    , COUNT(CASE
    WHEN block_timestamp >= CURRENT_DATE - INTERVAL '30 days'
    THEN 1 END) AS last_30_days_transactions
    , DATEDIFF('second'
    , MIN(CASE
    WHEN block_timestamp >= CURRENT_DATE - INTERVAL '30 days'
    THEN block_timestamp END)
    , MAX(block_timestamp)) AS last_30_days_seconds
    , COUNT(CASE
    WHEN block_timestamp >= CURRENT_DATE - INTERVAL '30 days'
    THEN 1 END) / NULLIF(DATEDIFF('second'
    , MIN(CASE
    WHEN block_timestamp >= CURRENT_DATE - INTERVAL '30 days'
    THEN block_timestamp END)
    , MAX(block_timestamp))
    , 0) AS avg_last_30_days_tps
    -- Last 7 days calculations
    , COUNT(CASE
    WHEN block_timestamp >= CURRENT_DATE - INTERVAL '7 days'
    THEN 1 END) AS last_7_days_transactions
    , DATEDIFF('second'
    , MIN(CASE
    WHEN block_timestamp >= CURRENT_DATE - INTERVAL '7 days'
    QueryRunArchived: QueryRun has been archived