美文网首页
Leetcode1393. 股票的资本损益(中等)

Leetcode1393. 股票的资本损益(中等)

作者: kaka22 | 来源:发表于2020-07-24 09:34 被阅读0次

题目
Stocks 表:

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| stock_name    | varchar |
| operation     | enum    |
| operation_day | int     |
| price         | int     |
+---------------+---------+

(stock_name, day) 是这张表的主键
operation 列使用的是一种枚举类型,包括:('Sell','Buy')

此表的每一行代表了名为 stock_name 的某支股票在 operation_day 这一天的操作价格。
保证股票的每次’Sell’操作前,都有相应的’Buy’操作。

编写一个SQL查询来报告每支股票的资本损益。

股票的资本损益是一次或多次买卖股票后的全部收益或损失。

以任意顺序返回结果即可。

SQL查询结果的格式如下例所示:

Stocks 表:

+---------------+-----------+---------------+--------+
| stock_name    | operation | operation_day | price  |
+---------------+-----------+---------------+--------+
| Leetcode      | Buy       | 1             | 1000   |
| Corona Masks  | Buy       | 2             | 10     |
| Leetcode      | Sell      | 5             | 9000   |
| Handbags      | Buy       | 17            | 30000  |
| Corona Masks  | Sell      | 3             | 1010   |
| Corona Masks  | Buy       | 4             | 1000   |
| Corona Masks  | Sell      | 5             | 500    |
| Corona Masks  | Buy       | 6             | 1000   |
| Handbags      | Sell      | 29            | 7000   |
| Corona Masks  | Sell      | 10            | 10000  |
+---------------+-----------+---------------+--------+

Result 表:

+---------------+-------------------+
| stock_name    | capital_gain_loss |
+---------------+-------------------+
| Corona Masks  | 9500              |
| Leetcode      | 8000              |
| Handbags      | -23000            |
+---------------+-------------------+

Leetcode 股票在第一天以1000美元的价格买入,
在第五天以9000美元的价格卖出。资本收益=9000-1000=8000美元。
Handbags 股票在第17天以30000美元的价格买入,
在第29天以7000美元的价格卖出。资本损失=7000-30000=-23000美元。
Corona Masks 股票在第1天以10美元的价格买入,
在第3天以1010美元的价格卖出。在第4天以1000美元的价格再次购买,
在第5天以500美元的价格出售。最后,它在第6天以1000美元的价格被买走,
在第10天以10000美元的价格被卖掉。
资本损益是每次(’Buy'->'Sell')操作资本收益或损失的
和=(1010-10)+(500-1000)+(10000-1000)=1000-500+9000=9500美元。

解答
其实很简单 对于每一个stock_name 全部buy的price减去全部sell的价格就是收益

select S.stock_name,
sum(if(S.operation = 'Buy', S.proce, -S.price)) as capital_gain_loss
from Stocks as S
group by S.stock_name

相关文章

  • Leetcode1393. 股票的资本损益(中等)

    题目Stocks 表: (stock_name, day) 是这张表的主键operation 列使用的是一种枚举类...

  • 期权

    保护性看跌期权,到期股价小于执行价格,股票净损益=股票净收入—股票购入价格,期权净损益=看跌期权净收入—期权价格=...

  • 股票投资‍‍最核心的几个问题

    股票投资‍‍最核心的三个问题 第一、投入资本的大小 进行股票投资首先要考虑的事情就是资本,没有资本的股票投资那是模...

  • 或有对价

    同一控制下的企业合并涉及的或有对价 确认预计负债/资产,后续变动不影响损益,而应当调整资本公积-资本溢价 CASE...

  • 股票--资本梯队

    在股票市场上对大部分人而言,只要提到资金流入,其首先想到的就是主力庄家,游资大户,机构资金等这些,毕竟这些...

  • 长投处置

    处置权益法长投,对应部分的其他综合收益(不能结转损益除外)和资本公积(其他资本公积)中的金额结转投资收益。 其他综...

  • 16.为什么不能把鸡蛋放在不同篮子里还是赔了?简单分散化

    资本配置:资金如何在大类资产中进行配置。 资产选择:指的是对于某一类资产,例如股票,买哪些具体的股票。 资本配置,...

  • 学习笔记:固定资产发生的后续支出

    固定资产的后续支出符合资本化的计入固定资产成本;不符合资本化的计入当期损益,其中制造费用和财务费用不涉及;车间设备...

  • 资本运用的力量---股票

    一 让人有爱有恨的股票是什么样的? 相信我们都不希望自己手里的钱不断贬值,希...

  • 股票发行达标了吗?在交易中都有哪些费用?

    一、股票的发行 我们晓得了为什么要发行股票,是的,为了筹集资本。 那发行股票如何达标呢? 经...

网友评论

      本文标题:Leetcode1393. 股票的资本损益(中等)

      本文链接:https://www.haomeiwen.com/subject/ekodlktx.html