MySQL总和正面和负面 - 计算货币交易的确切总数

Kra*_*itz 6 mysql sql

我有一个充满交易的数据库表.交易包含人们返回项目的负数.我想将所有金额字段相加,同时从总计中减去返回的负值.我怎么能这样做并输出呢?目前我能做的最好的事情是:

  SELECT SUM(amount) 
  FROM outputaddition 
  GROUP by SIGN(amount);
Run Code Online (Sandbox Code Playgroud)

但这只会在同一栏中放置正面和负面.

Mud*_*san 15

SELECT personId,SUM(CASE WHEN amount<0 THEN amount ELSE 0 END) as NegativeTotal,
       SUM(CASE WHEN amount>=0 THEN amount ELSE 0 END) as PostiveTotal
FROM outputaddition
GROUP BY personID
Run Code Online (Sandbox Code Playgroud)

如果你想要单列

SELECT personId,SUM(amount) as Total
FROM outputaddition
GROUP BY personID
Run Code Online (Sandbox Code Playgroud)