반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131536
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) > 1
ORDER BY USER_ID ASC, PRODUCT_ID DESC
GROUP BY문을 통하여 2개의 컬럼(USER_ID, PRODUCT_ID)를 그룹화하고 HAVING문에서 조건을 주어 문제를 해결했습니다.
먼저 HAVING문이 없고 COUNT(*)를 추가한 결과를 확인해보겠습니다.
SELECT USER_ID, PRODUCT_ID, COUNT(*)
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
ORDER BY USER_ID ASC, PRODUCT_ID DESC
빨간색 박스처럼 COUNT(*)를 했을때 2개이상인 데이터만 추출해야하기 때문에
HAVING문에서 COUNT(*) > 1을 하여 2개이상의 데이터만 추출하였습니다.
ORDER BY문에서는 문제에서 요구한대로 회원ID(USER_ID)를 기준으로 오름차순(ASC)정렬하고 회원ID(USER_ID)가 동일하다면 상품ID(PRODUCT_ID)를 기준으로 내림차순(DESC)정렬하여 출력하였습니다.
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 프로그래머스 치킨 쿠폰 파이썬(Python) (0) | 2022.12.01 |
---|---|
[코딩테스트] 프로그래머스 오랜 기간 보호한 동물(1) MySQL (0) | 2022.12.01 |
[코딩테스트] 프로그래머스 가격대 별 상품 개수 구하기 MySQL (0) | 2022.11.30 |
[코딩테스트] 프로그래머스 3월에 태어난 여성 회원 목록 출력하기 MySQL (2) | 2022.11.29 |
[코딩테스트] 프로그래머스 진료과별 총 예약 횟수 출력하기 (0) | 2022.11.29 |