【Snowflake】Snowflake如何合并一列数据

LISTAGG

返回串联的输入值,由 <delimiter > 字符串分隔。

句法:

Aggregate function

LISTAGG( [ DISTINCT ] <expr1> [, <delimiter> ] ) [ WITHIN GROUP ( <orderby_clause> ) ]

Window function:

LISTAGG( [ DISTINCT ] <expr1> [, <delimiter> ] )
    [ WITHIN GROUP ( <orderby_clause> ) ]
    OVER ( [ PARTITION BY <expr2> ] )

参数:

<expr1>

确定要放入列表中的值的表达式(通常是列名)。表达式的计算结果应为字符串,或可转换为字符串的数据类型.

<delimiter>

字符串或计算结果为字符串的表达式。实际上,这通常是一个单字符字符串。字符串应该用单引号括起来,如下例所示。

如果未<delimiter>指定字符串,则使用空字符串作为<delimiter>.

必须<delimiter>是常数。

<expr2>

此表达式用于对分区中的行进行分组。

<orderby_clause>

确定列表中值顺序的表达式(通常是列名)。

返回值:

返回一个字符串,其中包含所有非 NULL 输入值,以delimiter.

(请注意,这不会返回“列表”(例如,它不会返回 ARRAY;它会返回包含所有非 NULL 输入值的单个字符串。)

例子:

SELECT listagg(FieldName, '^')
    FROM TableName;

---------------------------------------------+
          LISTAGG(FieldName, ' ')           |
---------------------------------------------+
 AAA^BB^VSCSC^BB^VSCSC^BB^VSCSC^BB^VSCSC^BB |
---------------------------------------------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值