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.执行结果

posted @ 2025-06-30 08:15  Geek0070  阅读(3)  评论(0)    收藏  举报