如果我有四列:A,B,C和D在一个表中,Oracle SQL查询组如何按列D,然后在每个分组中选择C =' c'对于那些选定的行,返回B减去A的值?
答案 0 :(得分:2)
SELECT Aggfunction(B - A), D FROM TABLENAME WHERE C='c' GROUP BY D
将Aggfunction替换为您想要的聚合函数,例如SUM或AVG。您只能在聚合函数中包含分组的SQL查询结果集中的未分组列(这是有道理的,因为每组只能获得一条记录,因此必须以某种方式累积未分组的列以表示每个组的值)< / p>