如何从单表的 SQL 数据中获取利润损失?

Posted

技术标签:

【中文标题】如何从单表的 SQL 数据中获取利润损失?【英文标题】:How to get profit loss from SQL data from a single table? 【发布时间】:2020-08-07 01:17:01 【问题描述】:

这是我的桌子

item_name   expense   income    balance     
hammer         1        0        613.90       
cde            0        1        530.10
hammer         0        1        300.00

费用/收入列表示该项目是否处于损益中。 如果费用为 1,则表示亏损,如果收入为 1,则该项目已售出。

我希望以这样一种方式显示数据,即对于每个项目,我都可以看到我获得了多少利润或损失了多少。 例子

item_name     Loss     Profit   
hammer       613.90    300.00   
cde            0       530.10

【问题讨论】:

【参考方案1】:

这看起来像聚合:

select item_name,
       sum(case when expense = 1 then balance else 0 end) as loss,
       sum(case when income = 1 then balance else 0 end) as profit
from t
group by item_name;

【讨论】:

完美。非常感谢

以上是关于如何从单表的 SQL 数据中获取利润损失?的主要内容,如果未能解决你的问题,请参考以下文章

大型单表的 MySQL 查询优化 [关闭]

如何设计可以动态扩容缩容的分库分表方案

销售量服从泊松分布,怎样获取最大利润

数据库备份与恢复--02---mysql命令恢复数据---(逻辑备份)

CakePHP 问题:如何从单选按钮中获取价值以及如何调用操作?

如何获取 SQL SERVER 数据库中所有表的行数 [重复]