【发布时间】:2022-11-22 17:16:32
【问题描述】:
假设我们有下表
| user_id | event_name | event_time |
|---|---|---|
| Adam | subscribe | 1 |
| Adam | renewal | 4 |
| Adam | renewal | 5 |
| Adam | churn | 7 |
| Adam | subscribe | 10 |
| Adam | renewal | 20 |
笔记:
- event_time 实际上以毫秒为单位,但我只是简化了事情。
- 我问了一个类似的问题并在这里得到了一个很好的答案:Assign ranks to records and keep the same rank based on condition,可能对那些寻找这个问题答案的人有用。
我想为每一行添加数字,以便最终表格如下所示:
| user | event_name | event_time | subscription_time |
|---|---|---|---|
| Adam | subscribe | 1 | 1 |
| Adam | renewal | 4 | 1 |
| Adam | renewal | 5 | 1 |
| Adam | churn | 7 | 1 |
| Adam | subscribe | 10 | 10 |
| Adam | renewal | 20 | 10 |
| Adam | renewal | 30 | 10 |
| Adam | churn | 40 | 10 |
解释一下,每个续订事件都属于前一个订阅事件。我需要一个派生列来显示该订阅事件的时间。因此派生列应该与该事件的订阅时间相同。我的最终目的是找出给定订阅时间的续订/流失等数量
希望我能很好地解释我的问题。 感谢您付出的努力和时间。
【问题讨论】:
标签: sql google-bigquery