如何过滤以获取列的值正是order by之后的某个数组,Bigquery

Jan*_*ane 2 sql google-bigquery

问题是:完全按照以下顺序列出前 3 个 GOJEK 订单的所有客户 ID:第一个订单是 RIDE,第二个订单是 CAR,第三个订单是 FOOD

表格预览为:

在此输入图像描述

我正在考虑做一些事情,比如分别获取第一个订单是 RIDE 的客户、第二个订单是 CAR 的客户和第三个订单是 FOOD 的客户,然后在它们之间进行相交。但我没有办法查询第二阶和第三阶类型。

提前致谢!

Gor*_*off 6

你会这样做:

select d.customer_no
from daily_order d
group by d.customer_no
having to_json_string(array_agg(order_type order by order_time limit 3)) = to_json_string(array['RIDE', 'CAR', 'FOOD']);
Run Code Online (Sandbox Code Playgroud)