SQL如何按指定Riclass ID对Value字段值进行求和
你的代码存在三处问题:
- WHERE条件逻辑错误:一条数据的
Riclass_Id不可能同时等于0和3,and逻辑永远无法命中数据,应该改用or或者更简洁的IN运算符 - 语法错误:
SELECT子句中的Riclass_ID和SUM(Value)之间缺少逗号分隔 - 聚合规则缺失:同时查询分组字段和聚合计算结果时,需要补充
GROUP BY子句指定分组维度
根据你的实际需求,有两种实现方案:
方案1:分别统计指定ID对应的Value总和
如果你需要分别得到Riclass_Id为0和3各自的Value求和结果,使用以下代码:
SELECT Riclass_ID, SUM(Value) AS sum_value FROM Mytable WHERE Riclass_Id IN (0,3) GROUP BY Riclass_ID
返回结果如下:
| Riclass_Id | sum_value |
|---|---|
| 0 | 92751 |
| 3 | 56757 |
方案2:统计指定ID的Value总求和
如果你只需要得到两个ID的Value加总后的合计值,使用以下代码:
SELECT SUM(Value) AS total_sum FROM Mytable WHERE Riclass_Id IN (0,3)
返回结果为149508。
内容的提问来源于stack exchange,提问作者Alberto Camussi
相关产品推荐
相关产品推荐

