所以我有交易表:
cust_name,transaction_id, timestamp, amount,
bob, 134, 2018-01-01 14:33:20, 10
bob, 125, 2018-01-01 15:32:20, 20
bob, 562, 2018-01-02 06:33:20, 30
bob, 126, 2018-01-02 11:49:10, 5
bob, 897, 2018-01-02 14:33:20, 6
bob, 455, 2018-01-03 05:04:09, 15
bob, 666, 2018-01-03 12:36:44, 40
bob, 990, 2018-01-05 12:35:00, 6
other customers.....
客户在不同的时间戳下进行交易,transaction_id是唯一的。
我想为每一行计算其他变量。例如,该客户过去2天的最大或平均每日交易量。这是一种实时方式,我想通过一个查询来完成。为了更好地说明我想要实现的目标:
cust_name,transaction_id, timestamp, amount, sum of today,2_day_average, 2_day_max
bob, 134, 2018-01-01 14:33:20, 10, 10+20 = 30, 0 ,0
bob, 125, 2018-01-01 15:32:20, 20, 10+20 = 30, 0 ,0
bob, 562, 2018-01-02 06:33:20, 30, 41 , (30+41)/2,max(30,41)
bob, 126, 2018-01-02 11:49:10, 5, 41 , (30+41)/2,max(30,41)
bob, 897, 2018-01-02 14:33:20, 6, 41 , (30+41)/2,max(30,41)
bob, 455, 2018-01-03 05:04:09, 15, 55 , (41+55)/2,max(41,55)
bob, 666, 2018-01-03 12:36:44, 40, 55 , (41+55)/2,,max(41,55)
bob, 990, 2018-01-05 12:35:00, 6, 6 , (55+6)/2,,max(55,6)
other customers...
我想先创建“今天的总和”,然后在分区上使用总和,然后执行2_days_max和2_days_avg,但是我想知道是否有一种方法可以立即执行。