我想用美元来计算交易成本 对于多个最近的交易 在Rootstock区块链上. 我有一个带有令牌的PostgreSQL数据库表 价格reports.token_prices 我从其中 Select 了value 以美元为单位的最新可用RBTC价格:

select tp.price_in_usd  
from reports.token_prices tp
where tp.chain_id = 30 
and tp.coingecko_token_id = 'rootstock'
order by tp.dt desc
limit 1

(请注意,tp.dt是时间戳)

查询结果:

16995.771

然后我有一个表,里面有所有的交易, chain_rsk_mainnet.block_transactions, 我从其中 Select 煤气费 关于最近的5个问题:

select
bt.fees_paid
from chain_rsk_mainnet.block_transactions bt
order by bt.block_id desc, bt.tx_offset 
limit 5

(请注意,我没有使用时间戳,而是使用bt.block_idbt.tx_offset作为交易顺序)

结果:

0
4469416300800
4469416300800
16450260000000
0

现在我想把每个数字相乘 通过第一次查询的结果. 我如何在SQL中做到这一点?

推荐答案

如果没有进一步的信息,您最简单的 Select 就是将第一个查询转换为CTE,然后将结果连接到第二个查询中.

with  price_cte(price_in_usd) as 
      (select tp.price_in_usd  
         from reports.token_prices tp
        where tp.chain_id = 30 
          and tp.coingecko_token_id = 'rootstock'
        order by tp.dt desc
        limit 1
      )
select bt.fees_paid * p.price_in_usd)  "Fees Paid in USD"
  from chain_rsk_mainnet.block_transactions bt
  cross join price_cte p
 order by bt.block_id desc, bt.tx_offset 
 limit 5; 

NOTE:没有测试,没有样本数据,也没有结果.

Sql相关问答推荐

SQL—如何根据2列填写缺失的值

我如何计算字母a出现的字符串的次数?

不可能在SQL MERGE子句中引发异常

SQL Oracle条件分组依据

为什么在postgres中,横向连接比相关子查询快?

重新组合已排序的日期范围

按分隔符和总和分析字符串

获得第三名或最老的记录

查询页面推荐

Pgsql-返回包含多行数据的行

如何使用不重复的单个顶级字段(列)向json数组 Select 多行

计算不同模式的时间跨度

如何在Hive SQL中分别按多列进行分组?

Postgresql 具有相似行为和模式行为的问题

查询以查找今天和昨天的数据之间的差异以及伪列

如何在 ClickHouse SQL 中使用 CTE 将邻居语句中的数字作为偏移量传递?

BigQuery Pivot 遗漏行

SQL:如何从时间戳数据生成时间序列并计算不同事件类型的累计总和?

在 SQL 中将行显示为列

在现有日期列的查询结果中添加周数列