mysql 从sum()中得到一个正的&负的结果。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 从sum()中得到一个正的&负的结果。相关的知识,希望对你有一定的参考价值。

我有一个mysql表,结构为。

`credit` decimal(10,2) NOT NULL,
`debit` decimal(10,2) NOT NULL,

我想得到的结果是正数& 负数,就像:看看数据 此处

当我运行这个

sum(credit - debit) as total 

结果总是返回正值,即使是负值

我希望结果是积极的,如果是积极的,如果是消极的,则是消极的。

正:-123

负数:123

我如何才能做到这一点?

先谢谢你

答案

大概,你想。

select
    sum(credit - debit) total,
    abs(sum(credit - debit)) total_as_positive,
    - abs(sum(credit - debit) total_as_negative
from mytable

或者,如果你想把结果放在不同的列里,取决于它的符号。

select
    case when sum(credit - debit) > 0 then sum(credit - debit) end positive,
    case when sum(credit - debit) < 0 then sum(credit - debit) end negative
from mytable

以上是关于mysql 从sum()中得到一个正的&负的结果。的主要内容,如果未能解决你的问题,请参考以下文章

精确率和召回率

auc的本质

SQL 聚合总和以仅清除负行

latex 怎么在引理中打出正的括号

SQL Sumif 函数/GROUP BY & SUM?

MySQL SUM 如果大于和小于