根据总和计算 Oracle table 中的差异

Calculate difference in Oracle table from sum

我有一个 table 如下所示:

ID | Value
A  | 2
A  | 5
A  | 6 
B  | 1
B  | 7
B  | -3

我目前使用的声明如下

select ID, sum(VALUE) 
where ...
group by ID.

现在我需要 A 和 B 的区别。

谁能送我走上正确的道路?我正在使用 Oracle。

使用条件聚合:

SELECT SUM(CASE WHEN id = 'A' THEN "Value" ELSE 0 END) -
       SUM(CASE WHEN id = 'B' THEN "Value" ELSE 0 END) "Difference"
FROM tablename;

参见demo