我需要一个mysql查询,它是所有订单的总和,但减去ID 80的位置,例如
我试试这个
SELECT SUM(Orders) FROM MyBuyers WHERE ID=80 NOT IN
但他们没有工作
SELECT SUM(Orders) FROM MyBuyers
此查询正常,但我必须减去ID 80
的订单答案 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