코딩테스트

[프로그래머스] [SQL] 재구매가 일어난 상품과 회원 리스트 구하기

히그다스 2023. 12. 18. 14:22

 

 

알바를 시작하다보니 문제 풀기가 쉽지 않다

그래도 최대한 하려고 노력 중

 

 

 

 

우선 이게 기존에 작성해놓고 통과못한 코드

HAVING을 제대로 알기 전이라 WHERE 절에 연산 꾸겨넣기

 

 

-- 틀린코드
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
WHERE count(USER_ID) >= 2
GROUP BY PRODUCT_ID
ORDER BY USER_ID ASC, PRODUCT_ID DESC;

 

 

오늘 다시 보니 이상한게 보임

WHERE절 삭제하고 HAVING으로 대체

그래도 통과안됨

 

왜냐면 GROUP BY를 PRODUCT_ID로만 했기 때문

동일한 회원이 동일한 상품을 재구매 →  이 말에 따라 GROUP BY에 USER_ID 추가

 

통과했다

 

 

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING count(USER_ID) >= 2
ORDER BY USER_ID ASC, PRODUCT_ID DESC;

 

 

굿

 


출처: 프로그래머스