BigQuery 将列作为逗号分隔值
Posted
技术标签:
【中文标题】BigQuery 将列作为逗号分隔值【英文标题】:BigQuery get column as comma seperated values 【发布时间】:2018-06-07 14:22:10 【问题描述】:是否有与 SQLServer STUFF 函数等效的 Bigquery 以将字段作为逗号分隔值而不是多行来获取?
例如
**表格1** 身份证名称 1约翰 2约翰 3 汤姆 1 哈利 4 哈利 5 哈利 **表 2** 标识组 1组1 2组2 3组3 4组4 5组5我希望结果是
名称组 约翰 group1,group2 汤姆组3 哈利 group1,group4,group5提前感谢您的帮助
【问题讨论】:
你能修正Table 1
和Table 2
的格式吗?目前尚不清楚列名与行的内容是什么。
修复了表格格式。对此感到抱歉。
【参考方案1】:
使用标准 SQL:
#standardSQL
SELECT name, STRING_AGG(DISTINCT `group` ORDER BY `group`)
FROM (table or sub-select doing join)
GROUP BY name
【讨论】:
(group
是保留关键字,作为提示,因此可能需要在查询中使用反引号转义该列名)以上是关于BigQuery 将列作为逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章