💡 프로그래머스에서 oracle로 풀이함
LEVEL 2
SELECT user_id, product_id -- 5. 회원id(user_id), 상품id(product_id)를 조회한다. from ONLINE_SALE -- 1. online_sale 테이블에서 group by user_id, product_id -- 2. 회원id(user_id)와 상품id(product_id)를 그룹으로 묶어 건수를 조회할 때, having count(*) > 1 -- 3. 집계된 결과의 count가 1 이상인 것들만 조회하고, order by user_id, product_id desc -- 4. 회원id(user_id)순으로 하되, 회원id(user_id)가 같은건 상품id(product_id) 역순으로 한 테이블의
✨ 참고
GROUP BY : 그룹별 건수나 합계를 얻을 수 있다.
HAVING : 그룹별 집계된 결과 중 원하는 조건의 결과만 필터링 하기 위해서 사용
WHERE과 다른 점으로는 HAVING 절은 GROUP BY 절과 함께 해야만 사용할 수 있다.