select
block_timestamp::date as day,
count (distinct tx_id) as tx_num,
count(distinct(iff(tx_succeeded = 1, tx_id, null))) as success_tx_num,
count(distinct(iff(tx_succeeded != 1, tx_id, null))) as failed_tx_num,
tx_num / 1440 as tpm,
tx_num / 86400 as tps,
sum(tx_num) over (order by day asc) as comulative_tx_num
from flow.core.fact_transactions
where block_timestamp >= current_date - interval '1 year'
group by 1