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

多列GROUP BY查询需求:AccountCode去重并求和runningBalance

解决你的SQL分组求和问题

嘿,我看了你的需求和写的SQL语句,这里有个小细节需要调整下,才能达到你想要的效果:

你的核心需求是保持原表列数、AccountCode不重复、对runningBalance求和,但当前语句里的GROUP BY包含了divisionName,而这个列是你通过'All Companies' AS divisionName生成的常量列,并不是原表中的字段,所以不需要把它加入分组条件里哦。

修正后的SQL语句

SELECT 
    AccountCode, 
    'All Companies' AS divisionName, 
    AcName, 
    LF_AccountType, 
    SUM(ISNULL(runningBalance, 0)) AS runningBalance 
FROM Table 
GROUP BY AccountCode, AcName, LF_AccountType

为什么要这么改?

  • divisionName是固定的字符串值,所有行的这个字段内容都一样,分组时不需要考虑它,不会影响结果的唯一性
  • 保留AccountCode, AcName, LF_AccountType在GROUP BY里,是为了保证这些字段和求和后的runningBalance一一对应,同时确保AccountCode不会重复(前提是AcName和LF_AccountType对于同一个AccountCode来说是唯一的,如果不是的话,你可能需要进一步确认这些字段的业务逻辑,或者用聚合函数处理它们)

这样调整后,查询结果就能满足你的要求:列数和原需求一致,AccountCode不重复,并且runningBalance是对应分组的求和值啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:33:58