对所有先前观察值的列值求和
Sum a column value of all the previous observations
我有一个 table,其中包含 client_id、order_number 和收入。这个想法是将收入加起来直到每个订单号。
因此,例如,客户在他的第一个订单中获得 3 美元的收入,在第二个订单中获得 2 美元的收入。对于他的第一笔贷款,它应该 return 3 美元作为收入,但第二笔贷款应该是 5 美元。是个比较简单的问题,但是我还没有找到解决方法。
根据描述,您想要一个 window sum(revenue) 函数,按 client_id 划分并按 client_id 和 order_number
排序
select client_id, order_number,revenue,
sum(revenue) over (partition by client_id ORDER BY client_id,order_number) as sum
from your_table
order by client_id
示例数据:
insert into your_table values (1,10,2);
insert into your_table values (1,20,3);
insert into your_table values (2,21,2);
insert into your_table values (2,22,10);
insert into your_table values (3,40,2);
结果:
CLIENT_ID | ORDER_NUMBER | REVENUE | SUM
1 10 2 2
1 20 3 5
2 21 2 2
2 22 10 12
3 40 2 2
我有一个 table,其中包含 client_id、order_number 和收入。这个想法是将收入加起来直到每个订单号。
因此,例如,客户在他的第一个订单中获得 3 美元的收入,在第二个订单中获得 2 美元的收入。对于他的第一笔贷款,它应该 return 3 美元作为收入,但第二笔贷款应该是 5 美元。是个比较简单的问题,但是我还没有找到解决方法。
根据描述,您想要一个 window sum(revenue) 函数,按 client_id 划分并按 client_id 和 order_number
排序select client_id, order_number,revenue,
sum(revenue) over (partition by client_id ORDER BY client_id,order_number) as sum
from your_table
order by client_id
示例数据:
insert into your_table values (1,10,2);
insert into your_table values (1,20,3);
insert into your_table values (2,21,2);
insert into your_table values (2,22,10);
insert into your_table values (3,40,2);
结果:
CLIENT_ID | ORDER_NUMBER | REVENUE | SUM
1 10 2 2
1 20 3 5
2 21 2 2
2 22 10 12
3 40 2 2