SQL如何为SELECT SUM查询结果中指定年份的汇总值追加固定数值
实现方案
直接在原有汇总计算逻辑的基础上追加年份条件判断,仅给2022年的汇总值叠加固定值,其余年份保持原有计算结果不变即可,修改后的SQL如下:
SELECT YEAR(rcyl_in) as Year, SUM(case when a_RECLM.kgs_cred > a_RECLM.net_wt then a_RECLM.net_wt/2 else a_RECLM.kgs_cred/2 end) + CASE WHEN YEAR(rcyl_in) = 2022 THEN 1500 ELSE 0 END as 'Total Recovered' FROM a_reclm GROUP BY YEAR(rcyl_in)
逻辑说明
- 原有SUM统计逻辑完全保留,2019、2020、2021年的返回值和原查询结果完全一致
- 新增的
CASE WHEN判断会在分组汇总完成后执行,仅对2022年的汇总结果追加1500,最终2022年返回值为1094.8 + 1500 = 2594.8,完全匹配需求 - 如果后续需要给其他年份追加固定调整值,只需要在新增的CASE语句中补充对应WHEN分支即可,不需要改动原有核心统计逻辑
内容的提问来源于stack exchange,提问作者thomas
相关产品推荐
相关产品推荐

