【发布时间】:2018-02-15 15:25:18
【问题描述】:
我有一个包含日期、事件和用户的表格。有一个名为“A”的事件。我想找出特定事件在 SQL Bigquery 中事件“A”之前和之后发生了多少次。事件 A 可能会出现多次。但它应该只计算事件,直到它在前后条件下都遇到另一个事件 A。
例如,
User Date Events
123 2018-02-14 X.Y.A
123 2018-02-12 X.Y.B
134 2018-02-10 Y.Z.A
123 2018-02-11 A
123 2018-02-01 X.Y.Z
134 2018-02-05 X.Y.B
134 2018-02-04 A
123 2018-02-13 A
输出会是这样的。
User Event Before After
123 A 1 1
123 A 0 1
134 A 0 1
其他条件保持不变。
这个问题是我之前问题的延伸。
详情请见How to count number of a particular event before another event in SQL Bigquery?。
我必须计算的事件包含一个特定的前缀。意味着我必须检查以( X.Y.then 一些事件名称)开头的事件。所以,X.Y.SomeEvent 是我必须为其设置计数器的事件。有什么建议吗?
【问题讨论】:
-
我们可以很容易地回答,但如果你只是问而不先尝试 - 你永远学不会。展示您到目前为止尝试过的内容以及您必须解决哪些问题才能使其发挥作用 - 到那时,您应该已经从以前的问题中打下了良好的基础
标签: sql google-bigquery legacy-sql