【力扣白嫖日记】1393.股票的资本亏损

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

1393.股票的资本亏损
表:Stocks

列名类型
stock_namevarchar
operationenum
operation_dayint
priceint

(stock_name, day) 是这张表的主键(具有唯一值的列的组合)operation 列使用的是一种枚举类型,包括:(‘Sell’,‘Buy’)此表的每一行代表了名为 stock_name 的某支股票在 operation_day 这一天的操作价格。此表可以保证,股票的每个“卖出”操作在前一天都有相应的“买入”操作。并且,股票的每个“买入”操作在即将到来的一天都有相应的“卖出”操作。

编写解决方案报告每只股票的 资本损益。

股票的 资本利得/损失 是指一次或多次买卖该股票后的总收益或损失。

以 任意顺序 返回结果表。


我那不值一提的想法:

  • 首先梳理表内容,题干一共给了一张股票表,记录了股票名,操作状态,操作日期以及价格。
  • 其次分析需求,需要找到每只股票的资本损益
  • 根据规律,买入一支股票就会从总资金里面减去买入这支股票的钱
  • 所以这里使用逻辑判断语句,当operation的操作是buy的时候,就-price也就是失去的资金,否则就是price,意思是得到的资金。
select stock_name,sum(if(operation = "buy",-price,price)) as capital_gain_loss
from Stocks
group by stock_name

结果:

在这里插入图片描述


总结:

能运行就行。


  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值