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

如何用SQL按行计算列值总和并更新表的total列?

正确更新每行列值总和的SQL语句

你之前的两条语句存在以下问题:

  • 第一条语句多了冗余的END;,标准UPDATE语法不需要这个关键字。
  • 第二条错误使用了SUM()聚合函数和GROUP BY子句,这是用于分组统计的场景,但你需要的是每行内两个列值的直接相加,完全不需要聚合操作。

正确的基础实现语句

直接对每行的asthma和diabetes列做加法赋值即可:

UPDATE table_name
SET total = asthma + diabetes;

处理NULL值的优化版本

如果asthma或diabetes列可能存在NULL值(NULL和任何值相加结果都是NULL),可以用COALESCE函数将NULL转为0,确保计算结果正确:

UPDATE table_name
SET total = COALESCE(asthma, 0) + COALESCE(diabetes, 0);

执行以上语句后,就能得到你期望的结果:

idasthmadiabetestotal
011
112

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:54:25