我有一个值表,其中每个键值都有可变数量的行。我想输出一个表,将这些行值连接到每个不同的键值上。
输入表
KEY_ID |
SOURCE_VAL |
1 |
a |
1 |
b |
1 |
c |
2 |
d |
3 |
e |
3 |
f |
目标输出表
KEY_ID |
OUTPUT_VAL |
1 |
a,b,c |
2 |
d |
3 |
e,f |
在 Snowflake SQL 中编写此代码最有效的方法是什么?
可以用以下方法完成LISTAGG https://docs.snowflake.com/en/sql-reference/functions/listagg.html:
SELECT KEY_ID,
LISTAGG(SOURCE_VAL, ',') WITHIN GROUP(ORDER BY SOURCE_VAL) AS OUTPUT_VAL
FROM tab
GROUP BY KEY_ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)