当您加载数据集后,您可以开始构建一些查询来发现您的数据告诉您什么。在本节中,您将学习如何编写查询来回答以下问题:
在上一个步骤中,您从结果中排除了 coinbase 交易。Coinbase 交易是区块中的第一笔交易,它们包括矿工因挖矿而获得的奖励。要找出最近的 coinbase 交易,您可以使用类似的 SELECT
语句,但搜索 coinbase 交易。如果您再次包含以美元计价的交易价值,您会注意到每个交易的值均为 0 美元。这是因为 coin 在 coinbase 交易中没有转移所有权。
连接到包含比特币数据集的 Timescale 数据库。
在 psql 提示符下,使用此查询来选择最近的五个 coinbase 交易
SELECT time, hash, block_id, fee_usd FROM transactionsWHERE is_coinbase IS TRUEORDER BY time DESCLIMIT 5;您获得的数据看起来有点像这样
time | hash | block_id | fee_usd------------------------+------------------------------------------------------------------+----------+---------2023-06-12 23:54:18+00 | 22e4610bc12d482bc49b7a1c5b27ad18df1a6f34256c16ee7e499b511e02d71e | 794111 | 02023-06-12 23:53:08+00 | dde958bb96a302fd956ced32d7b98dd9860ff82d569163968ecfe29de457fedb | 794110 | 02023-06-12 23:44:50+00 | 75ac1fa7febe1233ee57ca11180124c5ceb61b230cdbcbcba99aecc6a3e2a868 | 794109 | 02023-06-12 23:44:14+00 | 1e941d66b92bf0384514ecb83231854246a94c86ff26270fbdd9bc396dbcdb7b | 794108 | 02023-06-12 23:41:08+00 | 60ae50447254d5f4561e1c297ee8171bb999b6310d519a0d228786b36c9ffacf | 794107 | 0(5 rows)
此数据集包含最近五天的比特币交易。要找出数据集中最近的交易,您可以使用 SELECT
语句。在这种情况下,您要查找不是 coinbase 交易的交易,按时间降序排序,并获取前五个结果。您还想查看区块 ID 以及以美元计价的交易价值。
连接到包含比特币数据集的 Timescale 数据库。
在 psql 提示符下,使用此查询来选择最近的五个非 coinbase 交易
SELECT time, hash, block_id, fee_usd FROM transactionsWHERE is_coinbase IS NOT TRUEORDER BY time DESCLIMIT 5;您获得的数据看起来有点像这样
time | hash | block_id | fee_usd------------------------+------------------------------------------------------------------+----------+---------2023-06-12 23:54:18+00 | 6f709d52e9aa7b2569a7f8c40e7686026ede6190d0532220a73fdac09deff973 | 794111 | 7.6142023-06-12 23:54:18+00 | ece5429f4a76b1603aecbee31bf3d05f74142a260e4023316250849fe49115ae | 794111 | 9.3062023-06-12 23:54:18+00 | 54a196398880a7e2e38312d4285fa66b9c7129f7d14dc68c715d783322544942 | 794111 | 13.19282023-06-12 23:54:18+00 | 3e83e68735af556d9385427183e8160516fafe2f30f30405711c4d64bf0778a6 | 794111 | 3.54162023-06-12 23:54:18+00 | ca20d073b1082d7700b3706fe2c20bc488d2fc4a9bb006eb4449efe3c3fc6b2b | 794111 | 8.6842(5 rows)
在此步骤中,您使用更复杂的查询来返回最近的五个区块,并显示有关每个区块的一些附加信息,包括区块权重、每个区块中的交易数量以及以美元计价的区块总价值。
连接到包含比特币数据集的 Timescale 数据库。
在 psql 提示符下,使用此查询来选择最近的五个 coinbase 交易
WITH recent_blocks AS (SELECT block_id FROM transactionsWHERE is_coinbase IS TRUEORDER BY time DESCLIMIT 5)SELECTt.block_id, count(*) AS transaction_count,SUM(weight) AS block_weight,SUM(output_total_usd) AS block_value_usdFROM transactions tINNER JOIN recent_blocks b ON b.block_id = t.block_idWHERE is_coinbase IS NOT TRUEGROUP BY t.block_id;您获得的数据看起来有点像这样
block_id | transaction_count | block_weight | block_value_usd----------+-------------------+--------------+--------------------794108 | 5625 | 3991408 | 65222453.36381342794111 | 5039 | 3991748 | 5966031.481099684794109 | 6325 | 3991923 | 5406755.801599815794110 | 2525 | 3995553 | 177249139.6457974794107 | 4464 | 3991838 | 107348519.36559173(5 rows)
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。