- 문제설명
- 문제
- 방법1(JOIN)
1. 헤비 유저 찾기(서브쿼리)
SELECT HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(HOST_ID) >=2
👉 HOST_ID별 공간 개수 계산 후, 2개 이상 등록한 HOST_ID만 선택(HAVING COUNT(HOST_ID) >=2)
📌 HAVING 절을 사용한 이유: 집계 함수(SUM, AVG, COUNT, MAX, MIN 등)를 사용한 결과에 조건을 걸 때 주로 사용
2. 서브쿼리에서 찾은 HOST_ID를 갖고 있는 PLACES 데이터를 조회하기 위해 JOIN 후 정렬
SELECT P.ID, P.NAME, P.HOST_ID
FROM PLACES P
JOIN(SELECT HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(HOST_ID) >=2) H
ON P.HOST_ID = H.HOST_ID
ORDER BY P.ID;
- 방법2(IN 서브쿼리)
SELECT ID, NAME, HOST_ID
FROM PLACES
WHERE HOST_ID IN (SELECT HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(ID) >= 2)
ORDER BY ID ASC;
👉 똑같이 헤비유저를 찾지만 그 조건을 IN을 사용하여 WHERE절로 조건을 걸어주고 정렬
- 실행결과
'빅데이터 공부 > SQL' 카테고리의 다른 글
[프로그래머스 / MySQL / Lv.4 우유와 요거트가 담긴 장바구니] (0) | 2025.03.10 |
---|---|
[프로그래머스 / MySQL / Lv.4 년, 월, 성별 별 상품 구매 회원 수 구하기] (2) | 2025.03.07 |
[프로그래머스 / MySQL / Lv.4 저자 별 카테고리 별 매출액 집계하기] (0) | 2025.03.05 |
[프로그래머스 / MySQL / Lv.4 서울에 위치한 식당 목록 출력하기] (0) | 2025.03.04 |
[프로그래머스 / MySQL / Lv.4 취소되지 않은 진료 예약 조회하기] (2) | 2025.03.03 |