我有几列采用相同的分区和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语句对于所有人来说都是相同的,我要更改的只是我实际求和的那一列,以及该结果列的调用方式。