假设我有以下架构:
[
{
'name': 'id',
'type': 'INTEGER'
}
{
'name': 'record',
'type': 'RECORD',
'fields': [
{
'name': 'repeated',
'type': 'STRING',
'mode': 'REPEATED'
}
]
}
]
以及以下数据:
+--------------------+
|id |record.repeated|
+--------------------+
|1 |'a' |
| |'b' |
| |'c' |
+--------------------+
|2 |'a' |
| |'c' |
+--------------------+
|3 |'d' |
+--------------------+
我需要的是创建一个返回这个的查询:
+--------------------+
|id |record.repeated|
+--------------------+
|1 |'a,b,c' |
+--------------------+
|2 |'a,c' |
+--------------------+
|3 |'d' |
+--------------------+
换句话说,我需要查询允许我使用分隔符(在本例中为逗号)连接嵌套字段的值。类似于 MySQL 的 GROUP_CONCAT 函数,但在 BigQuery 上。
相关想法:Concat all column values in sql
那可能吗?
谢谢。
最佳答案
这很简单
select group_concat(record.repeated) from table
来自 publicdata 的一个例子是
SELECT group_concat(payload.shas.encoded)
FROM [publicdata:samples.github_nested]
WHERE repository.url='https://github.com/dreamerslab/workspace'
关于google-bigquery - 在 BigQuery 上连接嵌套字段的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29486388/