我在 BigQuery 中有一个具有以下结构的表:
datetime | event | value
==========================
1 | add | 1
---------+--------+-------
2 | remove | 1
---------+--------+-------
6 | add | 2
---------+--------+-------
8 | add | 3
---------+--------+-------
11 | add | 4
---------+--------+-------
23 | remove | 3
---------+--------+-------
我正在尝试构建一个视图,该视图list
向包含数组当前状态的每一行添加一列。数组永远不会包含重复项。这应该是结果:
datetime | event | value | list
===================================
1 | add | 1 | [1]
---------+--------+-------+--------
2 | remove | 1 | []
---------+--------+-------+--------
6 | add | 2 | [2]
---------+--------+-------+--------
8 | add | 3 | [2,3]
---------+--------+-------+--------
11 | add | 4 | [2,3,4]
---------+--------+-------+--------
23 | remove | 3 | [2,4]
---------+--------+-------+--------
我尝试使用分析函数,但没有成功。使用数组的 api 非常有限。如果我可以使用递归WITH
子句,我想我会成功,不幸的是,这在 BigQuery 中是不可能的。
我正在使用启用了标准 SQL 的 BigQuery。