我已经尝试过以下查询:
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拥有此输出的地址。
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
显然,以上假设您希望每天收集所有地址,就像原始查询中的一样