我有 user_cost 信息和每小时折扣信息。 我正在尝试使用以下两个表来获得以下结果。
每次user_cost都应用discount_per_time,同一时间的用户共享折扣。 折扣按顺序应用于每一行,并一直执行,直到没有更多折扣可用。
我认为可以使用presto的窗口函数,所以我尝试了几天但无法做到。我可以通过查询创建以下结果吗?
表:user_cost
time user_id cost
1 aaa 20
1 bbb 5
2 aaa 11
2 bbb 5
3 aaa 15
4 aaa 1
4 bbb 1
表:discount_per_time
discount_id cost
d-1 10
d-2 5
结果:
time user_id type cost discount_id discounted_cost
1 aaa discount d-1 10
1 aaa discount d-2 5
1 aaa usage 5
1 bbb usage 5
2 aaa discount d-1 10
2 aaa discount d-2 1
2 bbb discount d-2 4
2 bbb usage 1
3 aaa discount d-1 10
3 aaa discount d-2 5
4 aaa discount d-1 1
4 bbb discount d-1 1
+ 添加:
例如