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

如何将Excel双SUMIF除法逻辑转换为SQL Server单条UPDATE语句

可以通过单条SQL语句完成table1.total_operation列的更新,利用SQL Server的UPDATE结合分组聚合的JOIN即可实现对应Excel中SUMIF的逻辑。

具体SQL语句如下:

UPDATE t1
SET t1.total_operation = t2.sum_operation_value / t2.sum_quantity
FROM table1 t1
INNER JOIN (
    SELECT
        operation_id,
        SUM(operation_value) AS sum_operation_value,
        SUM(quantity) AS sum_quantity
    FROM table2
    GROUP BY operation_id
) t2 ON t1.operation_id = t2.operation_id
WHERE t2.sum_quantity <> 0; -- 防止除数为0引发错误

语句说明:

  • 子查询部分:对table2按operation_id分组,计算每个分组下operation_value的总和与quantity的总和,完全对应Excel中两个SUMIF的计算逻辑。
  • 通过INNER JOIN将table1与子查询结果关联,匹配相同的operation_id。
  • 更新table1的total_operation为对应分组的总和比值,同时添加WHERE条件避免除数为0的异常。

以你提供的示例数据为例,执行该语句后:

  • operation_id = 'A11'的total_operation会计算为(111.45+34.00+29.00)/(2+1+3) = 174.45/6 = 29.07,与预期结果一致。
  • operation_id = 'A12'的结果为(20.40+34.00+1257.00)/(1262+5+18) = 1311.4/1285 ≈ 1.02
  • operation_id = 'A13'的结果为1.45/435 ≈ 0.0033

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:40:40