sql总和值不同的id

Posted

技术标签:

【中文标题】sql总和值不同的id【英文标题】:Sql sum values different id 【发布时间】:2021-12-27 17:38:54 【问题描述】:

我有一张简单的桌子。如何根据 Riclass ID 对仅 SQL 的值求和?

Riclass_Id Value
0 92751
3 56757
4 64666
5 88888

我试过这段代码,但没有用。

SELECT 
Riclass_ID
SUM (Value)
FROM Mytable
WHERE Riclass_Id= 0 and Riclass_Id= 3

【问题讨论】:

【参考方案1】:

Select 中删除Riclass_ID

SELECT SUM (Value)
  FROM Mytable
 WHERE Riclass_Id in (0, 3)

您将获得一条记录 - 属于 Riclass_Id 的记录的所有 Values 的总和等于 03

【讨论】:

【参考方案2】:

如果你想要Riclass_ID 的总和,你需要使用group by 子句:选择要分组的字段

如果您只想要一些Riclass_ID,则需要使用where 子句:选择要过滤的值

使用group by 子句,您只能选择:

聚合函数(此处为SUM(value),或count(*),或min/max...) group by 中指定的字段 常量

selectclause AND 没有group by 子句中使用一个(或多个)聚合函数,您无法选择没有聚合的字段。

SELECT 
    Riclass_ID,
    SUM (Value)
FROM
    Mytable
WHERE
    Riclass_Id in (0,3)
GROUP BY 
    Riclass_Id

【讨论】:

以上是关于sql总和值不同的id的主要内容,如果未能解决你的问题,请参考以下文章

同一表的不同列的计数总和

Laravel 查询生成器;用总和获得不同的行

在 Access 中计算报表的总和值

Laravel - 从不同的表中获取总和并计算

SQL Server - 重叠数据的累积总和 - 获取总和达到给定值的日期

具有唯一值的列的 SQL 总和量