Database/MySQL
[MySQL] SUM + CASE WHEN + GROUP BY 처리
데이터현
2022. 4. 20. 16:04
https://leetcode.com/problems/capital-gainloss/
위 문제를 풀고 내용 정리
주식 별로 얼마나 손익을 봤는지 계산하는 문제
처음엔 GROUP BY stock_name, operation 이렇게 묶고 SELECT 한번 더 해서 나중에 처리하려고 했는데
뭔가 잘 되지 않았다.
SUM 안에 CASE WHEN을 넣어서 처리하면 깔끔하게 풀이할 수 있다.
# Write your MySQL query statement below
SELECT stock_name, SUM(
CASE WHEN operation = 'Buy' THEN -price
ELSE price
END
) AS capital_gain_loss
FROM Stocks
GROUP BY stock_name
;