【问题标题】:SQL query to get net profit stock wiseSQL查询以明智地获取净利润股票
【发布时间】:2022-01-22 17:28:38
【问题描述】:
tid stock sid sval type
1 abc 1 100 buy
2 abc 2 120 buy
3 xyz 3 300 buy
4 abc 4 240 sell
5 xyz 5 250 sell

查询得到以下输出

输出

stock profit/loss
abc 20
xyz -50

另一个不同的查询得到以下输出

输出 2

stock profit/loss
abc 9.09%
xyz -16.6%

解释- 对于股票 abc:总投资 = 220,利润 = 20,百分比 = (20/220)*100 = 9.09%

对于股票 xyz:总投资 = 300,利润 = -50,百分比 = (-50/300)*100 = -16.6%

【问题讨论】:

  • Edit 问题并展示您已经尝试过的内容。解释失败的原因/位置。具体(错误消息、意外结果等)。

标签: mysql sql database


【解决方案1】:

您可以使用case 表达式将“卖出”计为利润,将“买入”计为损失,然后将它们相加:

SELECT   stock, SUM(CASE type WHEN 'sell' THEN sval
                              WHEN 'buy'  THEN sval * -1
                    END) as "profit/loss"
FROM     stocks
GROUP BY stock

【讨论】:

  • 如何获得这些结果占每股投资总价值的百分比。就像 abc 一样,它的 9.09% 为 (20/220)*100
猜你喜欢
  • 1970-01-01
  • 2016-08-29
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 2021-10-11
相关资源
最近更新 更多