mysql - 如何在SQL查询中根据某些条件执行减法?

标签 mysql

我想对类型为“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/

相关文章:

php - mysql 匹配...通过引用字符串变量

php - 此 php 登录代码始终不返回任何内容

PHP 在 <a> 标签内发布一个变量

mysql - 如何在 MySQL 中正确索引嵌套集?

mysql - SQL 查询按用户 ID 分组并取第一个和最后一个重复项

mysql - 配置 MySQL 服务器以避免 "MySQL Server has gone away"错误

php - 如何更改默认主义实体方案?

sql - MySQL 可以支持数据库电子邮件吗?

php - 同时格式化多个mySQL日期字段

mysql - 在 MySQL 中索引只有一列的表的性能