将多行转换为雪花中的一个逗号分隔值
Posted
技术标签:
【中文标题】将多行转换为雪花中的一个逗号分隔值【英文标题】:convert multiple rows to one comma separated values in snowflake 【发布时间】:2020-08-05 11:38:12 【问题描述】:我需要将一列中的多个记录/行转换为雪花中的单个逗号分隔值。 我在 MSSQL SERVER 中使用 FOR XML,但我需要在 SNOWSQL 中做同样的事情。
示例 - 具有三个值 A、B、C 的 Column-1 第 1 列 一种 乙 C
我需要像 A、B、C 一样连接的值。
【问题讨论】:
【参考方案1】:请看一下 Snowflake 的 LISTAGG 函数:
https://docs.snowflake.com/en/sql-reference/functions/listagg.html
示例如下:
CREATE OR REPLACE TABLE xyz (str varchar(100));
INSERT INTO xyz (str) VALUES ('A'), ('B'), ('C');
SELECT listagg(str, ',') as my_strings FROM xyz;
--results
MY_STRINGS
A,B,C
我希望这会有所帮助...丰富
【讨论】:
以上是关于将多行转换为雪花中的一个逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章