如何获取客户的用户 ID 以及他们使用 AGGREGATION OR WINDOW FUNCTION 下的每个订单?

How can I get the user ID of a client and every order they made using AGGREGATION OR WINDOW FUNCTION?

所以,我有以下 table,其中包含我的客户的用户 ID 以及他们的订单时间戳和订单交付时间戳。

用户名 ORDER_TIME DELIVERY_TIME
0033 2021-01-0112:30:14 2021-01-01 13:30:00
0011 2021-02-1216:15:51 2021-02-1217:16:51
0040 2021-02-1819:22:55 2021-02-1820:00:05
0017 2021-03-1122:11:56 2021-03-1122:57:16
0011 2021-01-0911:14:18 2021-01-0911:44:01
0040 2021-05-0609:12:13 2021-05-0610:00:10
0033 2021-04-1623:00:45 2021-04-1623:45:40
0011 2021-03-30 17:23:45 2021-03-30 17:51:51

但是,我需要查询每个下单两次或多次的客户的userid和每个订单和交货。阅读一些内容后,我发现 window 函数或聚合函数可以帮助我,但我就是不知道如何做。我需要这样的结果,并且订单时间按升序排列:

用户名 ORDER_TIME DELIVERY_TIME
0011 2021-01-0911:14:18 2021-01-0911:44:01
2021-02-1216:15:51 2021-02-1217:16:51
2021-03-30 17:23:45 2021-03-30 17:51:51
0033 2021-01-0112:30:14 2021-01-01 13:30:00
2021-04-1623:00:45 2021-04-1623:45:40
0040 2021-02-1819:22:55 2021-02-1820:00:05
2021-05-0609:12:13 2021-05-0610:00:10

你们能帮我解决这个问题吗? 非常非常感谢!

使用以下方法

select USERID, 
  array_agg(struct(ORDER_TIME, DELIVERY_TIME) order by ORDER_TIME) STATS
from `project.dataset.table`
group by USERID 
having count(1) > 1
order by USERID    

如果应用于您问题中的示例数据 - 输出为