You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一SQL查询中同时计算BASE与Top 2 Box聚合值?

合并两个SQL查询,同时计算BASE和Top 2 Box聚合值

你可以用条件聚合的方式实现需求,只需要一次查询就能同时算出两个聚合值,核心是在SUM函数里嵌套CASE WHEN来区分两种统计逻辑:

select 
    bF.MetricSubGroup_Level1, 
    bF.MetricDisplayName, 
    SUM(fDT.Weight) AS BASE,
    SUM(CASE WHEN fDT.AnsCode IN (9,10) THEN fDT.Weight ELSE 0 END) AS [Top 2 Box]
from #factDataTemp fDT
left join #brandFOM bF on fDT.BrandID = bF.OptionId
where 
    fDT.BrandID != 0 
    and bF.StudyName is not NULL
Group by bF.MetricSubGroup_Level1, bF.MetricDisplayName

逻辑说明

  • BASE的计算和原query1完全一致:对所有符合WHERE过滤条件的Weight求和。
  • Top 2 Box通过CASE WHEN做条件筛选:仅当fDT.AnsCode属于(9,10)时,才将对应Weight纳入求和,不满足条件的记录贡献0,最终SUM的结果就是符合要求的聚合值。
  • 这种方式只需要执行一次分组查询,比分开两次查询更高效,且结果会在同一行展示对应分组的两个指标。

内容的提问来源于stack exchange,提问作者Santosh Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 02:15:36