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

如何按SerialNumber和ID分组,合并同值项并汇总包装量与损坏量?

合并相同SerialNumber和ID的记录并汇总金额

这是一张表格示例,需求是合并SerialNumber和ID值相同的记录,汇总PackagedAmount与DamagedAmount。我尝试了以下查询语句:

SELECT * FROM InventoryHistory ih
JOIN 
 (
   SELECT SerialNumber, 
          ID, 
          SUM(PackagedAmount) AS pa, 
          SUM(DamagedAmount AS am
   FROM InventoryHistory 
   GROUP BY SerialNumber, ID
 ) ttl 
ON SerialNumber = ih.SerialNumber AND ttl.ID = ih.ID)
WHERE ID = @ID

你的查询存在两处问题:一是子查询里SUM(DamagedAmount AS am)语法错误,缺少闭合括号;二是没必要用JOIN操作,直接分组查询就能得到需要的结果。

修正后的查询语句如下:

SELECT 
  SerialNumber,
  ID,
  SUM(PackagedAmount) AS TotalPackagedAmount,
  SUM(DamagedAmount) AS TotalDamagedAmount
FROM InventoryHistory
WHERE ID = @ID
GROUP BY SerialNumber, ID

这个语句通过GROUP BY SerialNumber, ID将相同编号和ID的记录分组,用SUM()函数分别汇总包装数量和损坏数量,再通过WHERE子句过滤指定ID的记录,直接得到你需要的汇总结果,逻辑更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:42:34