加入行 Google BigQuery
Posted
技术标签:
【中文标题】加入行 Google BigQuery【英文标题】:Join rows Google BigQuery 【发布时间】:2014-07-27 13:55:52 【问题描述】:我在 Google BigQuery 中有一个巨大的表(即 300 万行)。结构是这样的:
name1 attribute1
name2 attribute2
name1 attribute2
我现在想按名称获取他们拥有的属性的列表。所以对于上面的例子,我想要这样的东西:
name1 attribute1, attribute2
name2 attribute2
BigQuery 是否可以实现(无需编写任何代码,纯粹作为 SQL 查询)?
【问题讨论】:
【参考方案1】:我建议你使用 GROUP_CONCAT 函数:
SELECT name, GROUP_CONCAT(columnNameContainingTheAttribute)
FROM yourTable
GROUP BY name
您可以在此处了解有关 GROUP_CONCAT 函数的更多信息: https://developers.google.com/bigquery/query-reference?hl=FR#aggfunctions
【讨论】:
太好了,谢谢!我不确定这一点,我稍后再检查,但我认为这确实给了我重复的属性名称(即重复是可能的,但如果 name1 与 attribute1 关联 10 次,它应该在连接列表中出现 10 次)。从我目前看到的情况来看,这并不完全准确,但我会尽快回复您 使用子查询消除重复项:“SELECT name, attrib FROM [table] GROUP BY 1,2”。然后用执行 GROUP_CONCAT 的查询包装该查询。 谢谢@FelipeHoffa :)以上是关于加入行 Google BigQuery的主要内容,如果未能解决你的问题,请参考以下文章