[英]Create a new column containing the concatenated unique elements of another in BigQuery SQL, using `string_agg`
给定以下数据:
WITH abc AS
(
SELECT 1234 id, 'Aug' month, 'P' value UNION ALL
SELECT 1234, 'Sept', 'P' UNION ALL
SELECT 4567, 'Sept', 'D'
)
SELECT
month,
value,
FROM abc
看起来像:
我想创建一个新列values
,其中包含value
列中的所有值。
因此,对于此示例数据,新列将包含P, D
。
完成此操作后,output 将是(我刚刚用 Excel 将其写出来):
我尝试按如下方式执行此操作:
WITH abc AS
(
SELECT 1234 id, 'Aug' month, 'P' value
UNION ALL
SELECT 1234, 'Sept', 'P'
UNION ALL
SELECT 4567, 'Sept', 'D'
)
SELECT
month,
value,
STRING_AGG(distinct value, " & ") as str_agg
FROM abc
但我收到此错误:
SELECT 列表表达式引用列月份,它既没有分组也没有聚合在 [7:5]
我不确定如何聚合/分组value
列以满足此错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.