首页 > 解决方案 > BigQuery SQL:按键动态连接列中的所有行

问题描述

我有一张这样的桌子:

Customer    Plan/Date
A           free (20/01/2020-01/02/2020)
A           starter (01/02/2020-01/03/2020)
A           full (01/03/2020)
B           trial (02/03/2020-05/04/2020)
B           full (05/04/2020)
.....
.....

我需要按客户键在“计划/日期”列中连接字符串,并像这样获取输出:

Customer    Plans
A          free (20/01/2020-01/02/2020), starter (01/02/2020-01/03/2020), full (01/03/2020)
B          trial (02/03/2020-05/04/2020), full (05/04/2020)

主要挑战是每个客户的行数可以不同

谢谢您的帮助 :)

标签: sqlgoogle-bigquery

解决方案


如果你想要一个字符串,那么你想要string_agg()

select customer,
       string_agg(plans, ', ')
from t
group by customer;

推荐阅读