Oracle SQL查询到GROUP BY并减去?

Posted

技术标签:

【中文标题】Oracle SQL查询到GROUP BY并减去?【英文标题】:Oracle SQL query to GROUP BY and subtract? 【发布时间】:2017-09-30 01:42:42 【问题描述】:

如果我在一个表中有四列:A、B、C 和 D,Oracle SQL 查询如何按 D 列分组,然后在每个分组中选择 C ​​= 'c' 的行,对于这些选定的行,返回B减去A的值?

【问题讨论】:

你想如何聚合每个组中 A 的值?总结所有As?取平均值? 【参考方案1】:

SELECT Aggfunction(B - A), D FROM TABLENAME WHERE C='c' GROUP BY D

将 Aggfunction 替换为您想要的聚合函数,例如总和或平均。您只能在聚合函数中包含来自分组 sql 查询结果集中的未分组列(这是有道理的,因为每个组只能得到一条记录,因此必须以某种方式累积未分组列以表示每个组的值)

【讨论】:

以上是关于Oracle SQL查询到GROUP BY并减去?的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE 中使用 GROUP BY 和 HAVING COUNT(condition) 的 SQL 查询

SQL 性能:SELECT DISTINCT 与 GROUP BY

Oracle_group by分组查询_深入

oracle查询选择语句——count、sum、order by、group by

需要在oracle中使用group by查询并计算以下内容

oracle中group by用法