根据总和计算 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。
我有一个 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。