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