可以在SQL的同一滚动窗口中计算多个总和吗?

时间:2019-07-11 01:54:41

标签: sql sum rolling-computation

我有几列采用相同的分区和BY语句顺序,并且我想在不同的列中为它们中的每一个创建一个单独的总和。我有一个非常低效的方法来执行此操作,但我想知道是否存在一种干净的方法。

create table small_test_final_balances
select
    sum(Industrial_Spend) over (partition by account_id, 
    calendar_month order by trxn_timestamp desc rows unbounded 
    preceding) as industrial_sum,

    sum(Consumer_Spend) over (partition by account_id, calendar_month 
    order by trxn_timestamp desc rows unbounded preceding) as 
    cumulative_sum,
    *
from test1

正如您所看到的,over语句对于所有人来说都是相同的,我要更改的只是我实际求和的那一列,以及该结果列的调用方式。

0 个答案:

没有答案