我有一个事务表,想要根据事务的类型进行计算.如何?
表:
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)
就像我的sqlfiddle一样简单:
select
sum(CASE WHEN type = 'IncomingTransfer' THEN amount ELSE -amount END) as totalsum
from t;
Run Code Online (Sandbox Code Playgroud)