Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

LISTAGG 开窗函数

对于查询中的每个组,LISTAGG 开窗函数根据 ORDER BY 表达式对每个组的行进行排序,然后将值串联成一个字符串。

语法

Copy
LISTAGG(expression [, 'delimiter' ] ) [ WITHIN GROUP (ORDER BY order_list) ] OVER ( [PARTITION BY partition_expression] )

参数

aggregate_expression

提供要聚合的值的任何有效表达式(如列名称)。忽略 NULL 值和空字符串。

delimiter

可选。将分隔串联的值的字符串常数。默认值为 NULL。

WITHIN GROUP (ORDER BY order_list)

可选。指定聚合值的排序顺序。仅在 ORDER BY 提供唯一排序时是确定性的。默认为聚合所有行并返回一个值。

OVER

一个指定窗口分区的子句。OVER 子句不能包含窗口排序或窗口框架规范。

PARTITION BY partition_expression

可选。设置 OVER 子句中每个组的记录范围。

返回值

VARCHAR(MAX)。如果结果集大于最大 VARCHAR 大小(64K – 1 或 65535),则 LISTAGG 返回以下错误:

Copy
Invalid operation: Result size exceeds LISTAGG limit

示例

请参见 LISTAGG 开窗函数示例

本页内容: