我想对类型为“in”的 qty*price
求和,然后减去类型为“out”的 qty*price
之和。像这样的东西。
SELECT cid, name, SUM(paid_amt), (SELECT SUM(qty*price) WHERE type = 'in' - SELECT SUM(qty*price) WHERE type = 'out'), type FROM
交易按 cid 分组
这是我的 SQL 查询。
最佳答案
您可以通过使用两个不同的 sum
表达式来解决您的问题,每个表达式内部的 case 语句略有不同。这个想法是,如果类型正确,您的 case 语句仅向聚合和表达式返回一个值。
select
cid
, sum(case when type = "in" then qty*price else 0 end)
- sum(case when type = "out" then qty*price else 0 end)
from
your_table
group by
cid
关于mysql - 如何在SQL查询中根据某些条件执行减法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46996265/