Mysql求和减法查询

时间:2016-10-05 10:30:52

标签: mysql

我需要一个mysql查询,它是所有订单的总和,但减去ID 80的位置,例如

我试试这个

SELECT SUM(Orders) FROM MyBuyers WHERE ID=80 NOT IN

但他们没有工作

SELECT SUM(Orders) FROM MyBuyers

此查询正常,但我必须减去ID 80

的订单

2 个答案:

答案 0 :(得分:1)

SELECT SUM(Orders) FROM MyBuyers WHERE ID!=80

答案 1 :(得分:1)

你想要那样的东西吗?

SELECT 
SUM(CASE WHEN ID <> 80 THEN Orders ELSE -1*Orders END) AS totalAmount
FROM MyBuyers

到目前为止,我已经理解了:

您想要总结除ID = 80的订单以外的所有订单。

如果ID等于80,那么您想从汇总结果中减去订单。

考虑这组样本输入

ID   Orders
1      5
21     5
23     5
80     4

如果此给定输入集的预期输出为11,则上述查询最适合此。

如果您的预期输出为15,则采用以下查询:

SELECT SUM(Orders) FROM MyBuyers WHERE ID <> 80