根据标志列Oracle SQL Developer,合计结果(求和或减去某些值)
我是SQL开发者的新手 我有一个类似上图的查询结果根据标志列Oracle SQL Developer,合计结果(求和或减去某些值),sql,oracle,consolidation,Sql,Oracle,Consolidation,我是SQL开发者的新手 我有一个类似上图的查询结果 我想知道如何用Flag=1求和所有值,并用Flag=2减去所有值,以获得一个总结果?在DECODE的帮助下,以下是方法: SQL> with test (value, flag) as 2 (select 100, 2 from dual union -- sum of flag 2 values = 600 3 select 200, 2 from dual union 4 select 300,
我想知道如何用
Flag=1
求和所有值,并用Flag=2
减去所有值,以获得一个总结果?在DECODE
的帮助下,以下是方法:
SQL> with test (value, flag) as
2 (select 100, 2 from dual union -- sum of flag 2 values = 600
3 select 200, 2 from dual union
4 select 300, 2 from dual union
5 --
6 select 700, 1 from dual union -- sum of flag 1 values = 1500
7 select 800, 1 from dual
8 )
9 select sum(decode(flag, 1, value, 0)) sum_1,
10 sum(decode(flag, 2, value, 0)) sum_2,
11 --
12 sum(decode(flag, 1, value, 0)) - sum(decode(flag, 2, value, 0)) result
13 from test;
SUM_1 SUM_2 RESULT
---------- ---------- ----------
1500 600 900
SQL>
使用SQL-请参阅下面的答案。或者,您可以右键单击,导出到Excel(XLSX),然后在那里使用Excel功能。不过SQL非常强大,我希望您能给它一个机会;我很高兴你来了