AWS Kinesis Analytics SQL 将行转换为列表
AWS Kinesis Analytics SQL to transform rows to a list
我有一个目的地 Stream
,如下所示:
Company_ID Product User_Tag Count
123 P1 T1 15
123 P1 T2 10
123 P1 T3 10
我想要最终输出如下:
Company_ID Product User_Tag Count
123 P1 [T1,T2,T3] 35
我尝试在 User_Tag
上使用 listagg
但我收到一条错误消息 no function signature found
。这甚至可以在 AWS Kinesis SQL 上处理流数据吗?
SQL - 数组聚合
SELECT company_id,
product,
Array_agg(user_tag),
Sum(count)
FROM stream
GROUP BY company_id,
product;
company_id | product | array_agg | sum
------------+---------+------------+-----
123 | P1 | {T1,T2,T3} | 35
SQL - 字符串聚合:
SELECT company_id,
product,
String_agg(user_tag, ','),
Sum(count)
FROM stream
GROUP BY company_id,
product;
company_id | product | string_agg | sum
------------+---------+------------+-----
123 | P1 | T1,T2,T3 | 35
编辑 Link 进行演示。
我有一个目的地 Stream
,如下所示:
Company_ID Product User_Tag Count
123 P1 T1 15
123 P1 T2 10
123 P1 T3 10
我想要最终输出如下:
Company_ID Product User_Tag Count
123 P1 [T1,T2,T3] 35
我尝试在 User_Tag
上使用 listagg
但我收到一条错误消息 no function signature found
。这甚至可以在 AWS Kinesis SQL 上处理流数据吗?
SQL - 数组聚合
SELECT company_id,
product,
Array_agg(user_tag),
Sum(count)
FROM stream
GROUP BY company_id,
product;
company_id | product | array_agg | sum
------------+---------+------------+-----
123 | P1 | {T1,T2,T3} | 35
SQL - 字符串聚合:
SELECT company_id,
product,
String_agg(user_tag, ','),
Sum(count)
FROM stream
GROUP BY company_id,
product;
company_id | product | string_agg | sum
------------+---------+------------+-----
123 | P1 | T1,T2,T3 | 35
编辑 Link 进行演示。