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
;
'Database > MySQL' 카테고리의 다른 글
[MySQL] 그룹별로 column 데이터 이어 붙이기 (GROUP_CONCAT) (0) | 2022.05.04 |
---|---|
[MySQL] COUNT(1), COUNT(*), COUNT(column) 차이 (1) | 2022.04.05 |
[MySQL] 사칙연산 + 형 변환 (0) | 2022.04.03 |
[MySQL] DATE 타입으로 변경 DATE_FORMAT (0) | 2022.04.02 |
[MySQL] 데이터 삭제 (0) | 2022.03.31 |
댓글