我有一个数据视图,例如以下记录:
Num Type Name
------------------------
17 2 Luke
22 1 Luke
22 2 Sandy
10 1 Sandy
19 2 Tom
19 1 Tom
Run Code Online (Sandbox Code Playgroud)
例如,我如何组合 Sandy 的所有行并获得Num行的总数?但它应该得到Type as 运算符(1 = 加号,2 = 减号)。所以对于桑迪来说,这将是 10-22 = 总计 -12
结果表应如下所示:
Num Type Name
------------------------
4 null Luke
-12 null Sandy
0 null Tom
Run Code Online (Sandbox Code Playgroud)
这在纯 SQL 中甚至可能吗?
谢谢你的帮助
是的,这是可能的:
select name,
sum(case when type = 1 then num
when type = 2
then - num
end) as num
from t
group by name;
Run Code Online (Sandbox Code Playgroud)
我type从查询中遗漏了,因为它似乎没有用。