MySQL Sum positive and negative - 计算货币交易的确切总数

标签 mysql sql

我有一个充满事务的数据库表。交易包含来自返回人员的负数。我想把所有的金额字段加起来,同时从总数中减去返回的负值。我该怎么做并将其输出? 目前我能做的最好的事情是:

  SELECT SUM(amount) 
  FROM outputaddition 
  GROUP by SIGN(amount);

但这只会将正数和负数放在同一列中。

最佳答案

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

如果你想要单列

SELECT personId,SUM(amount) as Total
FROM outputaddition
GROUP BY personID

关于MySQL Sum positive and negative - 计算货币交易的确切总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22910381/

相关文章:

mysql - 创建表作为查询结果

mysql - 无法在 MySql 表中插入超过 33138 行

C# 在代码中从复制的 SQL 值创建字节数组?

sql - mySQL 中的空值

sql - Oracle 中的 CHECKSUM_AGG 等效项

mysql_result 返回文件名作为结果

mysql - 选择记录,其中 id 是集合 id 之一

php - 如何找到以下情况的联合查询

php - 编辑记录列表中选定的记录

php - 选择列中出现两个单词的行