【问题标题】:BIGQUERY ON BITCOIN比特币上的大查询
【发布时间】:2022-01-22 12:52:51
【问题描述】:

我使用此代码获取有余额的地址,但我想将地址交易计数添加到结果中。 你能帮帮我吗

*

-- SQL source from https://cloud.google.com/blog/products/data-analytics/introducing-six-new-cryptocurrencies-in-bigquery-public-datasets-and-how-to-analyze-them
WITH double_entry_book AS (
   -- debits
   SELECT
    array_to_string(inputs.addresses, ",") as address
   , inputs.type
   , -inputs.value as value
   FROM `bigquery-public-data.crypto_bitcoin.inputs` as inputs
   UNION ALL
   -- credits
   SELECT
    array_to_string(outputs.addresses, ",") as address
   , outputs.type
   , outputs.value as value
   FROM `bigquery-public-data.crypto_bitcoin.outputs` as outputs
)
SELECT
   address
,   type   
,   sum(value) as balance
FROM double_entry_book
GROUP BY 1,2
ORDER BY balance DESC
LIMIT 100

【问题讨论】:

    标签: sql google-bigquery bitcoin


    【解决方案1】:

    我对数据集不是很熟悉,但是如果每个输出和输入都被归类为单个事务,那么每个地址的事务数就是该地址的行数,对吗?所以你可以添加 count(address) 来计算这样的交易:

    -- SQL source from https://cloud.google.com/blog/products/data-analytics/introducing-six-new-cryptocurrencies-in-bigquery-public-datasets-and-how-to-analyze-them
    WITH double_entry_book AS (
       -- debits
       SELECT
        array_to_string(inputs.addresses, ",") as address
       , inputs.type
       , -inputs.value as value
       FROM `bigquery-public-data.crypto_bitcoin.inputs` as inputs
       UNION ALL
       -- credits
       SELECT
        array_to_string(outputs.addresses, ",") as address
       , outputs.type
       , outputs.value as value
       FROM `bigquery-public-data.crypto_bitcoin.outputs` as outputs
    )
    SELECT
       address
    ,   type   
    ,   sum(value) as balance
    ,   count(address) as transactions
    FROM double_entry_book
    GROUP BY 1,2
    ORDER BY balance DESC
    LIMIT 100
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-23
      • 2019-05-16
      • 2012-08-19
      • 1970-01-01
      • 2012-02-02
      • 2021-08-03
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多