Teradata 中的另一种运行总计

问题描述

我看过关于总成绩的罚单,但这有点不同。

假设我有从 2020 年 1 月到最大(日期)的索赔。我想写一个查询,给我 2020 年 1 月、2020 年 1 月到 2020 年 2 月、2020 年 1 月到 3 月的索赔总额……一直到 1 月到最大值(日期),所有这些都在同一个查询中。

每个月都会增加一个月的数据。我希望查询能够说明这一点,而不是硬编码任何内容

解决方法

这是一个累计金额。像这样:

select date,sum(claim) over (order by date)
from t;

如果需要按月汇总,则:

select extract(year from date),extract(month from date),sum(claims) as claims_in_month,sum(sum(claims)) over (order by min(date)) as running_claims
from t
group by extract(year from date),extract(month from date);