如何使用条件的SQL SUM

Ric*_*rdo 0 sql sum

我有一个事务表,想要根据事务的类型进行计算.如何?

表:

id | amount | type
--------------------
01 | 230    | IncomingTransfer
02 | 100    | OutcomingTransfer
03 | 20     | IncomingTransfer
Run Code Online (Sandbox Code Playgroud)

逻辑:

SELECT SUM(amount)
IF IncomingTransfer
    + 230
    + 20
ELSE IF OutcomingTransfer
    - 100

Total amount: +150
Run Code Online (Sandbox Code Playgroud)

MrS*_*ind 6

就像我的sqlfiddle一样简单:

select
sum(CASE WHEN type = 'IncomingTransfer' THEN amount ELSE -amount END) as totalsum
from t;
Run Code Online (Sandbox Code Playgroud)