【发布时间】:2020-04-20 22:02:02
【问题描述】:
我对基于列迭代计算行数有疑问
我的桌子是这样的
time | steps | name
13:02 | 0 | a
13:03 | 0 | a
13:04 | 1 | a
13:05 | 0 | a
13:07 | 1 | a
13:10 | 1 | a
13:12 | 2 | a
13:04 | 0 | b
13:06 | 0 | b
13:12 | 1 | b
13:14 | 2 | b
13:19 | 3 | b
13:14 | 0 | b
13:19 | 3 | b
从上表中,我想按名称获得尽可能高的步骤。但必须满足以下条件:
- 按名称执行的步骤必须是连续的(例如:0,1,2,3 返回 0,1,2,3;0,1,2,4 返回 0,1,2)
- 每个步骤都必须按时间顺序进行
- 如果可能有超过 1 条记录,则选择任何值(例如:0,1,1,2 返回 0,ANY(1,1),2)
我要找的表是
time | steps | name
13:05 | 0 | a
13:07 | 1 | a
13:12 | 2 | a
13:06 | 0 | b
13:12 | 1 | b
13:14 | 2 | b
13:19 | 3 | b
有什么方法可以在 bigquery 中做到这一点?
【问题讨论】:
标签: sql google-bigquery