Bigquery - 两列内多个值的总和乘积
Posted
技术标签:
【中文标题】Bigquery - 两列内多个值的总和乘积【英文标题】:Bigquery - Sum Product of multiple value within two columns 【发布时间】:2021-12-13 03:57:49 【问题描述】:我有这个价值
我想计算一个新列,它将添加ticket_units_count和price的乘积,所以它必须是: 5 * 33104.0 + 4 * 23449.0 = 259316
如何在 bigquery 中做到这一点? 我试过这个
SELECT
SUM(CAST(price AS FLOAT64) * CAST(ticket_units_count AS INT64))
FROM table
但它显示此错误:Bad double value: 33104.0;23449.0 需要您的帮助来指定查询以获得预期结果
【问题讨论】:
请在您的问题中添加可读的示例数据。 【参考方案1】:考虑以下方法
select *,
( select sum(cast(_count as int64) * cast(_price as float64))
from unnest(split(ticket_units_count, ';')) _count with offset
join unnest(split(price, ';')) _price with offset
using (offset)
) as total
from your_table
如果应用于您问题中的样本数据 - 输出是
【讨论】:
它有效,请找到此代码进行复制:---- 输入 AS(选择“c”作为 id,“5;4”作为ticket_units_count,“33104.0;23449;0”作为价格) select *, ( select sum(cast(_count as int64) * cast(_price as float64)) from unnest(split(ticket_units_count, ';')) _count with offset join unnest(split(price, ';')) _price使用 (offset) ) 作为输入的总和以上是关于Bigquery - 两列内多个值的总和乘积的主要内容,如果未能解决你的问题,请参考以下文章