BigQuery/SQL - 特定变体的拆分值
Posted
技术标签:
【中文标题】BigQuery/SQL - 特定变体的拆分值【英文标题】:BigQuery/SQL - Split value on specific variants 【发布时间】:2021-04-05 22:44:50 【问题描述】:需要将 market_offers 列中的重复项替换为所有提供主要值的条目的 SUM 值。 但是有一种情况是有不同的等级和国家代码所以
输入
country_code rank store_id category_id offers market_offers
se 1 14582 1106 410 504860
se 1 1955 1294 2 504860
se 1 9831 1158 151 504860
se 2 666 11158 536 4000
se 2 6587 25863 6586 4000
se 2 6666 158 536 4000
se 5 65853 76722 1521 302
se 5 6587 25863 6586 302
预期结果
country_code rank store_id category_id offers market_offers
se 1 14582 1106 410 168 286
se 1 1955 1294 2 168 286
se 1 9831 1158 151 168 286
se 2 666 11158 536 1333
se 2 6587 25863 6586 1333
se 2 6666 158 536 1333
se 5 65853 76722 1521 151
se 5 6587 25863 6586 151
【问题讨论】:
【参考方案1】:考虑下面
select * except(market_offers),
round(market_offers / count(1) over(partition by market_offers, rank), 2) as market_offers
from `project.dataset.table`
如果应用于您问题中的样本数据 - 输出是
【讨论】:
再次感谢您:)以上是关于BigQuery/SQL - 特定变体的拆分值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 BigQuery SQL 中将字符串列拆分为多行单个单词和单词对?
努力从 BigQuery SQL 中的时间戳字段中提取特定月份的 DATE