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

基于Action字段值对Items字段分组求和的实现方案

按ProductID分组计算Items合计值的实现方案

需求说明

给定销售数据表,需按ProductID分组,根据Action字段的规则计算Items的最终合计:

  • Action = 0:Items不纳入计算
  • Action = 1:Items计入求和(累加)
  • Action = 2:Items从求和结果中扣除(累减)

数据表结构及数据

ProductIDItemsPriceAction
a1101001
a16600
a15502
a23301
a24400
a21702

实现方案(SQL)

使用CASE语句对不同Action对应的Items进行值转换,再按ProductID分组求和:

SELECT
    ProductID,
    SUM(
        CASE Action
            WHEN 1 THEN Items
            WHEN 2 THEN -Items
            ELSE 0
        END
    ) AS TotalItems
FROM
    sales_table
GROUP BY
    ProductID;

逻辑解释

  1. 通过CASE语句映射Action对应的计算规则:
    • 当Action=1,直接取Items原值(用于累加)
    • 当Action=2,取Items的负值(用于累减)
    • 当Action=0,取0(不参与求和计算)
  2. 用SUM()函数对转换后的值进行求和
  3. 按ProductID分组,得到每个产品的最终合计值

执行结果

ProductIDTotalItems
a15
a22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:20:56