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

基于列值的SQL Server SUM查询需求:按Dr/Cr统计账户收支

解决方案:按账户统计收支总和

针对你需要按账户分别统计支出(Dr金额总和)和收入(Cr金额总和)的需求,我们可以用SQL Server的条件聚合函数来实现,一次性完成分组汇总,逻辑清晰且效率很高。

完整SQL查询语句

SELECT
    fld_account_id AS AccountID,
    SUM(CASE WHEN fld_cr_dr = 'Dr' THEN fld_amount ELSE 0 END) AS Payments,
    SUM(CASE WHEN fld_cr_dr = 'Cr' THEN fld_amount ELSE 0 END) AS Receipts
FROM
    [你的表名] -- 替换成实际的表名称
GROUP BY
    fld_account_id
ORDER BY
    fld_account_id;

代码逻辑说明

  • 条件聚合:通过CASE语句判断每一行的收支类型,只累加对应类型的金额,非目标类型则加0,不会影响最终总和。
  • 分组统计:GROUP BY fld_account_id保证每个账户只输出一行汇总数据,避免重复。
  • 排序优化:ORDER BY让结果按账户ID有序排列,更直观易读。

基于测试数据的预期结果

用你提供的测试数据执行后,会得到如下汇总结果:

AccountIDPaymentsReceipts
263500020000
27350005000

(计算验证:账户26的Dr金额总和为1000+2000+3000+5000+7000+8000+9000=35000;Cr金额总和为4000+6000+10000=20000;账户27的收支计算逻辑同理)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:45:45