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

SQL使用WHERE子句求和返回0的问题排查

问题原因与修正方案

错误点分析

  1. 表名语法错误:FROM T*是无效的表名写法,数据库无法识别该表,导致读取不到任何数据,最终SUM结果返回0。
  2. WHERE子句逻辑错误:Person = 'A' OR 'D' OR 'E'不符合SQL语法逻辑。SQL中OR连接的必须是完整的布尔条件,单独的'D'或'E'会被数据库当作布尔值TRUE处理,这会导致所有行都被匹配(OR只要一个条件为真就成立),即便表名正确,也会得到所有Score的总和而非目标值。

正确SQL写法

方法1:用OR连接完整条件

SELECT SUM(Score)
FROM T
WHERE Person = 'A' OR Person = 'D' OR Person = 'E';

方法2:用IN子句(更简洁推荐)

SELECT SUM(Score)
FROM T
WHERE Person IN ('A', 'D', 'E');

两种写法都会返回正确结果190,注意确保表名T是你实际使用的表名称,若表名不同需替换为正确名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:27:20