Snowflake SQL:基于共享键连接多行中的值

Mic*_*ael 7 sql snowflake-cloud-data-platform

我有一个值表,其中每个键值都有可变数量的行。我想输出一个表,将这些行值连接到每个不同的键值上。

输入表

KEY_ID SOURCE_VAL
1 A
1
1 C
2 d
3 e
3 F

目标输出表

KEY_ID 输出值
1 甲、乙、丙
2 d
3 e,f

在 Snowflake SQL 中编写此代码最有效的方法是什么?

Luk*_*zda 16

可以用LISTAGG来完成:

SELECT KEY_ID, 
       LISTAGG(SOURCE_VAL, ',') WITHIN GROUP(ORDER BY SOURCE_VAL) AS OUTPUT_VAL
FROM tab
GROUP BY KEY_ID
Run Code Online (Sandbox Code Playgroud)