본문 바로가기
SQL

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

by 창따오 2023. 12. 28.
728x90

-- 코드를 입력하세요
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*)>=2
ORDER BY USER_ID, PRODUCT_ID DESC;

 

 

GROUP BY 의 실행 원리

GROUP BY 는 같은 값을 가진 행끼리 하나의 그룹으로 뭉쳐줍니다. 예시를 보면 좀 더 이해하시기 쉬울 겁니다. 예를 들어 우리가 서점을 운영하고 있다고 가정해봅시다. 우리는 우리 서점이 몇 가지의 장르의 책을 보유하고 있으며, 각 장르마다 몇 개의 책을 보유하고 있는지 알고 싶습니다. 우리의 데이터베이스는 1개의 테이블로 구성이 되어있는데, 해당 테이블은 책 이름과 장르 그리고 재고의 숫자를 저장하고 있습니다. 아래 그림은 GROUP BY 가 데이터를 그룹핑하는 것을 시각적으로 보여줍니다. 각 장르마다의 책 재고 개수를 알고 싶은 것이기 때문에, GROUP BY 가 장르를 기준으로 그룹을 나눈 후, 각 그룹에 해당하는 값(여기서는 재고의 총합)을 계산합니다.

Group By 출처 :  https://kimsyoung.tistory.com/entry/SQL-GROUP-BY-%E4%B8%8A-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%8B%A4%EC%A0%9C-%EC%A0%81%EC%9A%A9-%EB%B0%A9%EB%B2%95