Php 用减号条件求和

Php 用减号条件求和,php,mysql,sum,Php,Mysql,Sum,我想要和值,这个值比类别 表: 收入为正,收入为负 对于这个表,我希望获得SUM并返回900/1000+500-600您的查询应该如下所示 select sum( if(category='income', value, -1 * value) ) from table 发件人: 如果expr1为TRUE(expr10和expr1为NULL),则If()返回 expr2;否则返回expr3。IF()返回数字或字符串 值,具体取决于使用它的上下文 创建表格/插入数据 CREATE TABLE t

我想要和值,这个值比
类别

表:

收入为正,收入为负


对于这个表,我希望获得
SUM
并返回
900
/1000+500-600
您的查询应该如下所示

select sum( if(category='income', value, -1 * value) )
from table
发件人:

如果expr1为TRUE(expr10和expr1为NULL),则If()返回 expr2;否则返回expr3。IF()返回数字或字符串 值,具体取决于使用它的上下文


创建表格/插入数据

CREATE TABLE t
    (`id` INT, `value` INT, `category` VARCHAR(7))
;

INSERT INTO t
    (`id`, `value`, `category`)
VALUES
    (1, 1000, 'income'),
    (2, 500, 'income'),
    (3, 600, 'expense')
;
查询

SELECT (
   SUM(CASE WHEN t.category = 'income' THEN t.value END) -- only sum category = 'income'
    - 
   SUM(CASE WHEN t.category = 'expense' THEN t.value END) -- only sum category = 'expense'
 ) 
  AS total
FROM 
 t
结果

total   
--------
900     

你需要养成帮助你解决问题的习惯。您将获得积分,并鼓励其他人帮助您。可能重复
total   
--------
900