oracle分组求和同时具备两个条件

在 Oracle 数据库中,您可以使用 GROUP BY 子句来分组数据,同时可以使用 SUM() 函数对每个分组的数据进行求和。如果您需要同时满足两个条件来对数据进行分组和求和,则可以使用 HAVING 子句。

假设您有一个名为 table_name 的表,其中包含两个列 column1 和 column2。现在您需要根据 column1 分组,并且只对 column2 大于等于 10 的数据进行求和,可以使用以下 SQL 语句:

SELECT column1, SUM(column2) AS sum_column2
FROM table_name
GROUP BY column1
HAVING SUM(CASE WHEN column2 >= 10 THEN column2 ELSE 0 END) > 0;

以上 SQL 语句中,使用了 CASE 表达式来判断 column2 是否大于等于 10,如果是,则将其加入求和的范围中,否则将其排除。HAVING 子句中使用了 SUM() 函数来判断符合条件的数据是否存在,如果存在则将其作为结果返回。

  •