【问题标题】:A different kind of running total in TeradataTeradata 中的另一种运行总计
【发布时间】:2021-04-23 21:29:34
【问题描述】:

我看过关于运行总数的票,但这有点不同。

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

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

【问题讨论】:

  • 您是说每个月都希望在结果中增加一列吗?然后,您需要使用存储过程或客户端脚本语言动态构建查询。

标签: sql teradata cumulative-sum teradatasql


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多