코딩 테스트/SQL

우유와 요거트가 담긴 장바구니

susinlee 2024. 12. 13. 15:29

[문제]
데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.


[단계별 풀이]
1. NAME이 Yogurt이거나 Milk인 행들을 필터링

2. CART_ID 로 GROUP BY

3. NAME의 고유값들을 COUNT

4. COUNT 한 값이 2이상인 행들만 필터링

5. CART_ID를 조회

6. CART_ID로 오름차순 정


[정답]

SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME IN ('Yogurt', 'Milk')
GROUP BY CART_ID
HAVING COUNT(DISTINCT NAME) >= 2
ORDER BY CART_ID