【问题标题】:BigQuery get column as comma seperated valuesBigQuery 将列作为逗号分隔值
【发布时间】: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 1Table 2的格式吗?目前尚不清楚列名与行的内容是什么。
  • 修复了表格格式。对此感到抱歉。

标签: google-bigquery


【解决方案1】:

使用标准 SQL:

#standardSQL
SELECT name, STRING_AGG(DISTINCT `group` ORDER BY `group`) 
FROM (table or sub-select doing join)
GROUP BY name

【讨论】:

  • group 是保留关键字,作为提示,因此可能需要在查询中使用反引号转义该列名)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 2016-07-10
  • 1970-01-01
  • 2015-10-06
  • 2018-09-25
相关资源
最近更新 更多