我有下一行,我要做的是选择类型“shop”之前的所有行。我试着在“where子句”中使用case,但没有得到任何结果。我该怎么做?
|id|visitnumber|type |
|01| 1|register|
|01| 2|visit |
|01| 3|visit |
|01| 4|shop |
|01| 5|visit |
例如,我想要得到的是type=“shop”之前的visitnumber。
这将非常有帮助,因为我要做的是获取在大查询上的特定事件之前发生的所有操作。
|id|numberofvisits|
|01| 3|
5条答案
按热度按时间kkih6yb81#
一种方法使用相关子查询:
但是,在bigquery中,我更喜欢使用窗口函数的方法:
这样做的好处是
id
甚至是那些没有“商店”类型的。dddzy1tm2#
一个选项使用子查询进行筛选:
也可以使用窗口功能:
iyfamqjs3#
下面的选项用于bigquery标准sql
您可以使用下面的示例中的虚拟数据来测试、播放上面的内容
有结果的
xmq68pz94#
这是我使用analytics 360测试数据集对大查询运行的查询:
我想做一个查询,在那里我可以找到事件操作“快速查看单击”命中之前的总命中数。如果这是错误的或可以改善让我知道!
非常感谢,伙计们!
xbp102n05#
一般来说,我会这样处理sql:
然而,当我们想在下一家店之前找到拜访者时,我会考虑很多情况。。。下一家商店。。。还有下一家商店。为此,您可以按时间间隔查找商店和组的ID。