在BigQuery中对相同排名(rnk=1)的输出结果求和的方法
在BigQuery中对rnk=1的记录执行求和操作的方法
直接通过筛选+分组聚合就能实现你要的效果,假设你的表字段为rnk、category(对应示例里的A)、value(对应数值40/60)、date(对应日期),可以用下面的SQL:
SELECT rnk, category, SUM(value) AS total_value, MIN(date) AS earliest_date FROM your_table WHERE rnk = 1 GROUP BY rnk, category
逻辑说明:
WHERE rnk = 1:先过滤出所有排名为1的记录GROUP BY rnk, category:按排名和类别分组,保证同一排名同一类别下的记录被聚合SUM(value):对分组内的数值字段求和MIN(date):取分组内最早的日期(对应你期望保留的01/02/2023)
把your_table替换成你实际的表名,字段名如果和示例不同也对应调整即可,执行后就能得到你想要的结果:
1 A 100 01/02/2023
内容的提问来源于stack exchange,提问作者Consuela
相关产品推荐
相关产品推荐

