프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제 설명

- 문제 및 예시

- 코드 및 문제 풀이
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID,PRODUCT_ID
HAVING COUNT(USER_ID) > 1 AND COUNT(PRODUCT_ID) > 1
ORDER BY USER_ID ASC, PRODUCT_ID DESC
- 문제에서 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하라고 했으니까 동일한 회원과 제품이 2이상인 그룹으로 GROUP BY ~ HAVING절을 이용해 만들어주면됩니다.
- 그 후 USER_ID, PRODUCT_ID 순으로 정렬하면 됩니다.
- GROUP BY 절
- GROUP BY 절은 선택된 레코드의 집합을 필드의 값이나 표현식에 의해 그룹화한 결과 집합을 반환합니다.
- 즉, GROUP BY 절은 하나의 그룹을 하나의 레코드로 반환하므로, 결과 집합의 크기를 줄여주는 역할을 합니다.
- HAVING 절
- HAVING 절은 SELECT 문의 WHERE 절처럼 GROUP BY 절에 의해 반환되는 결과 집합의 조건을 설정할 수 있게 해줍니다.
'Coding Test > SQL 연습 문제' 카테고리의 다른 글
프로그래머스/MySQL - SELECT 11. 과일로 만든 아이스크림 고르기 (0) | 2023.01.07 |
---|---|
프로그래머스/MySQL - SELECT 10. 12세 이하인 여자 환자 목록 출력하기 (0) | 2023.01.07 |
프로그래머스/MySQL - SELECT 08. 오프라인/온라인 판매 데이터 통합하기 (0) | 2023.01.06 |
프로그래머스/MySQL - SELECT 07. 역순 정렬하기 (0) | 2023.01.06 |
프로그래머스/MySQL - SELECT 06. 아픈 동물 찾기 (0) | 2023.01.05 |