Как отфильтровать, чтобы получить значение столбца точно какой-то массив после заказа, Bigquery - PullRequest
0 голосов
/ 07 ноября 2019

Вопрос: перечислите все идентификаторы клиентов, у которых были первые 3 заказа GOJEK, ТОЛЬКО в следующей последовательности: первый заказ - RIDE, второй - CAR, а третий - FOOD

, а предварительный просмотр таблицы:

enter image description here

Я рассматриваю такие вещи, как получение клиентов, у которых первый заказ - RIDE, клиентов, у которых второй заказ - CAR, и клиентов, у которых третий заказ - FOOD отдельно, а затем пересекаются междуих. Но у меня закончились идеи для запроса второго и третьего типа заказа.

Заранее спасибо!

1 Ответ

2 голосов
/ 07 ноября 2019

Вы бы сделали:

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']);
...