1070. Product Sales Analysis III
어려운 문제는 아니었으나, 오랜만에 푸는 형식이라 WHERE을 활용하는 것이 생각 안 났어서 기록.
아래가 처음 풀었던 방식
SELECT PRODUCT_ID
,YEAR AS FIRST_YEAR
,QUANTITY
,PRICE
FROM (
SELECT PRODUCT_ID
,RANK() OVER (PARTITION BY PRODUCT_ID ORDER BY YEAR) AS RNK
,YEAR
,QUANTITY
,PRICE
FROM SALES
) A
WHERE RNK = 1
그리고 다음 것이 더 간단하게 푸는 방법. WHERE 절에 IN을 넣을 때 칼럼을 두 개 설정할 수 있다는 사실이 가물가물해서 도저히 떠오르질 않았다(사실 예전에도 많아봐야 두세번만 사용해본 것 같기도).
앞으로는 이렇게 풀어야지.
SELECT PRODUCT_ID
,YEAR AS FIRST_YEAR
,QUANTITY
,PRICE
FROM SALES
WHERE (PRODUCT_ID, YEAR) IN (SELECT PRODUCT_ID, MIN(YEAR) FROM SALES GROUP BY 1)
'TIL 통합 > SQL' 카테고리의 다른 글
[LEETCODE] [MySQL] Use window function for big data - LEAD(), LAG() 함수 (0) | 2025.04.07 |
---|---|
[LEETCODE] 262. Trips and Users: WHERE절 활용 (0) | 2025.04.07 |
[프로그래머스] 우유와 요거트가 담긴 장바구니(GROUP_CONCAT or HAVING 활용) (1) | 2025.04.03 |
[프로그래머스] GROUP BY - 입양 시각 구하기(2) (0) | 2025.04.03 |
[프로그래머스] JOIN - 상품을 구매한 회원 비율 구하기 (0) | 2025.04.02 |