【发布时间】:2017-04-20 16:44:49
【问题描述】:
我有一张表(MySQL)
UserID | CreationTS | Type | Value | Bonus Value
259275 | 2012-08-01 | Deposit | -------- | NULL
259275 | 2012-08-02 | BonusApplied | 175 | 175
259275 | 2012-08-03 | TradeOrder | -------- | 175
259275 | 2012-08-06 | TradeOrder | -------- | 175
259275 | 2012-08-10 | BonusApplied | 180 | 180
259275 | 2012-08-11 | TradeOrder | -------- | 180
259275 | 2012-08-12 | TradeOrder | -------- | 180
259275 | 2012-08-15 | TradeOrder | -------- | 180
259275 | 2012-08-17 | BonusApplied | 200 | 200
259275 | 2012-08-18 | TradeOrder | -------- | 200
259681 | 2012-08-01 | Deposit | -------- | NULL
259681 | 2012-08-02 | BonusApplied | 175 | 175
259681 | 2012-08-03 | TradeOrder | -------- | 175
259681 | 2012-08-06 | TradeOrder | -------- | 175
259681 | 2012-08-10 | BonusApplied | 180 | 180
259681 | 2012-08-11 | TradeOrder | -------- | 180
259681 | 2012-08-12 | TradeOrder | -------- | 180
259681 | 2012-08-15 | TradeOrder | -------- | 180
259681 | 2012-08-17 | BonusApplied | 200 | 200
259681 | 2012-08-18 | TradeOrder | -------- | 200
我需要根据每个用户的第一个 Value 和 BonusApplied 来填充 BonusApplied 类型、每个 UserID 之间的 VALUE 中的空白。 最终值在 Bonus Value 列中。这就是我需要的。 如果有基于@variables而不是JOIN的解决方案,那就太好了。
【问题讨论】:
标签: mysql lag window-functions lead