Google Bigquery SQL UNNEST和STRING_AGG

问题描述 投票:0回答:1

我已经尝试过以下查询:

SELECT STRING_AGG(inputs.addresses) as stringAgg, 
FROM `bigquery-public-data.crypto_bitcoin.transactions`
JOIN UNNEST (inputs) AS inputs
GROUP BY Date(block_timestamp)

但是,出现以下错误:

对于参数类型:ARRAY,聚合函数STRING_AGG没有匹配的签名。支持的签名:STRING_AGG(STRING); STRING_AGG(STRING,STRING); STRING_AGG(BYTES); [2:3]的STRING_AGG(BYTES,BYTES)了解有关BigQuery SQL函数的更多信息。

不确定如何解决此问题并获取输出中存在的第一个地址。鉴于类型地址为:[输出。地址STRING REPEATED拥有此输出的地址。

sql google-bigquery
1个回答
0
投票
inputs.addresses本身是一个数组,因此您也需要UNNEST例如下面的>

#standardSQL SELECT DATE(block_timestamp) AS block_date, STRING_AGG(address) AS stringAgg FROM `bigquery-public-data.crypto_bitcoin.transactions` JOIN UNNEST (inputs) AS input, UNNEST(input.addresses) address GROUP BY DATE(block_timestamp) LIMIT 10

显然,以上假设您希望每天收集所有地址,就像原始查询中的一样
© www.soinside.com 2019 - 2024. All rights reserved.