加入行 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的主要内容,如果未能解决你的问题,请参考以下文章

在 CMD 中添加空格以选择字符串时加入行不起作用

Google Data Studio:如果日期不自动加入,如何加入?

Google加入Cloud Foundry基金会影响几何?

google bigQuery 子查询加入

加入 Google Bigquery

通过 Cloud Datalab 加入 Google BigQuery