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

딩나·2023년 10월 26일

SQL

목록 보기
10/13


https://school.programmers.co.kr/learn/courses/30/lessons/131536

💡

2개 이상의 컬럼을 그룹화할 수 있다.

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID;

결과는 다음과 같다.
user_id와 product_id로 만들 수 있는 모든 짝이 하나의 값이 된다.

우리가 알고 싶은 것은 이 값들 중 어떤 것이 여러개인지 궁금하다.
그룹화된 값들에 조건을 걸어줘야 하므로 HAVING을 사용한다.

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) > 1;

마지막 정렬 조건까지 적용해준다.

정답

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) > 1
ORDER BY USER_ID, PRODUCT_ID DESC;

0개의 댓글