我正在使用Oracle。
有一张桌子:
Year Type Value
2011 1 500
2011 2 550
2011 3 600
...
...
2012 1 600
2012 2 750
2012 3 930
我需要从年份中减去不同类型的所有值。 操作将是:
2011年 - > 1-2-3(500-550-600)
2012年 - > 1-2-3(600-750-930)
对......
结果应为:
Year Value
2011 -650
2012 -1080
... ...
我只是无法让这个查询工作..
答案 0 :(得分:5)
使用条件聚合:
select sum(case when type = 1 then value else - value end) as value
from table t
group by year;
答案 1 :(得分:0)
你的意思是GROUP BY,CASE决定签名+代表类型1, - 代表其他人:
select "year",
SUM(case when type = 1 then value else -value end)
from yourtable
group by "year"