Leetcode 1393. 股票的资本损益
1.题目基本信息
1.1.题目描述
Stocks 表:
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| stock_name | varchar |
| operation | enum |
| operation_day | int |
| price | int |
+---------------+---------+
(stock_name, operation_day) 是这张表的主键(具有唯一值的列的组合)
operation 列使用的是一种枚举类型,包括:('Sell','Buy')
此表的每一行代表了名为 stock_name 的某支股票在 operation_day 这一天的操作价格。
此表可以保证,股票的每个“卖出”操作在前某一天都有相应的“买入”操作。并且,股票的每个“买入”操作在即将到来的某一天都有相应的“卖出”操作。
编写解决方案报告每只股票的 资本损益。
股票的 资本利得/损失 是指一次或多次买卖该股票后的总收益或损失。
以 任意顺序 返回结果表。
1.2.题目地址
https://leetcode.cn/problems/capital-gainloss/description/
2.解题方法
2.1.解题思路
根据stock_name进行分组聚合,如果买入,则price取负,然后进行求和
3.解题代码
sql代码
# Write your MySQL query statement below
# 思路:根据stock_name进行分组聚合,如果买入,则price取负,然后进行求和
SELECT
stock_name,
SUM(IF(operation = 'Buy', -price, price)) AS capital_gain_loss
FROM Stocks
GROUP BY stock_name
4.执行结果


浙公网安备 33010602011771号