알바를 시작하다보니 문제 풀기가 쉽지 않다
그래도 최대한 하려고 노력 중
우선 이게 기존에 작성해놓고 통과못한 코드
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;
굿
출처: 프로그래머스
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 나의 2023년 코딩테스트 연습 연말결산 (0) | 2023.12.26 |
---|---|
[프로그래머스] [SQL] 입양 시각 구하기(1) (1) | 2023.12.21 |
[프로그래머스] [SQL] 취소되지 않은 진료 예약 조회하기 (0) | 2023.12.13 |
[프로그래머스] [SQL] 5월 식품들의 총매출 조회하기 (2) | 2023.12.06 |
[프로그래머스] [SQL] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.12.04 |