inblog logo
|
sxias
    Programmers_SQLSELECTGROUP BY

    [Programmers_SQL] 11. 재구매가 일어난 상품과 회원 리스트 구하기

    문정준's avatar
    문정준
    Mar 05, 2025
    [Programmers_SQL] 11. 재구매가 일어난 상품과 회원 리스트 구하기
    Contents
    1. 문제 설명2. 문제3. 예시4. 문제 풀이5. 결과 확인Solution
     
    💡
    프로그래머스 SELECT 11. 재구매가 일어난 상품과 회원 리스트 구하기

    1. 문제 설명

    notion image
     

    2. 문제

    notion image

    3. 예시

    notion image
     

    4. 문제 풀이

    SELECT user_id, product_id from ONLINE_SALE group by user_id, product_id having count(*) > 1 order by user_id, product_id desc;
    • 1 Line : 재구매를 한 회원 id, 제품 id를 출력
      • SELECT user_id, product_id
    • 2 Line : ONLINE_SALE 데이터에서 출력
      • from ONLINE_SALE
    • 3 Line : 유저별, 제품별 구매 횟수 그룹화
      • 재구매 발생 시 여러 개가 조회
      • group by user_id, product_id
    • 4 Line : 출력한 데이터 중 개수가 1개 이상인 데이터만 출력 = 재구매 데이터
      • having count(*) > 1
    • 5 Line : user_id를 기준으로 오름차순, 같으면 product_id를 기준으로 내림차순 정렬
      • order by user_id, product_id desc;

    5. 결과 확인

    notion image
    notion image
     

    Solution

    [SQL] 프로그래머스 MySQL - Lv.2 (11~20)
    https://school.programmers.co.kr/learn/challenges?order=recent&levels=2&languages=mysql 코딩테스트 연습 | 프로그래머스 스쿨개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!school.programmers.co.kr 11. 재구매가 일어난 상품과 회원 리스트 구하기 (GROUP BY, HAVING)SELECT USER_ID, PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING COUNT(*) > 1ORDER BY USER_ID ASC, PRODUCT_ID DESC  1..
    [SQL] 프로그래머스 MySQL - Lv.2 (11~20)
    https://meowstudylog.tistory.com/entry/SQL-programmers-MySQL-Lv2-1120
    [SQL] 프로그래머스 MySQL - Lv.2 (11~20)
    🚀

    Trouble Shooting

    Grouping 기준을 확인하자!
    • 회원이 재구매한 제품을 확인해야 함
    • 회원이 재구매할 경우 회원 번호, 제품 번호는 그대로이지만 주문 번호는 다르므로 count(*)의 결과는 1 이상임
    • 그룹화 한 이후의 결과를 가지고 조회해야 하므로 having 사용
    Share article
    Contents
    1. 문제 설명2. 문제3. 예시4. 문제 풀이5. 결과 확인Solution

    Sxias ㆍ a32176740@gmail.com

    RSS·Powered by Inblog