mysql - 一张表的SQL算术运算

标签 mysql sql spring jpa

您好,我有交易表。 BigDecimal 金额和 bool 结果。 如果结果为真,我就买了一些东西,如果结果为假,我就卖掉了一些东西。 当我做这样的事情时,我想在单个查询中获取金额

SELECT (amount(when outcome is false) - amount(when outcome is true)) AS income 
FROM transaction WHERE (the condition I was unable to write);

有没有办法在单个查询中做到这一点?

最佳答案

我认为你只想要条件聚合:

SELECT SUM(CASE WHEN outcome THEN - amount ELSE amount END) as income 
FROM transaction;

关于mysql - 一张表的SQL算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49253569/

相关文章:

sql - 创建 SQL 索引的最佳方式?

java - 任何服务器的最大连接超时是多少?

java - Hibernate 约束违反异常

MySQL不查询就删除数据?

mysql - 查找mysql中两列共有的值

javascript - 创建 cron 执行 node.js 文件

sql - Symfony2 在自定义存储库类中使用查询

java - SecurityFilterChain Bean 不保护应用程序

mysql - 在 LIMIT 子句中使用算术运算符和/或括号

MYSQL替换成永不替换?