문제풀이/프로그래머스
[프로그래머스] 헤비 유저가 소유한 장소
Hyeon-Uk
2021. 5. 11. 11:50
반응형
programmers.co.kr/learn/courses/30/lessons/77487
코딩테스트 연습 - 헤비 유저가 소유한 장소
PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를
programmers.co.kr
-풀이-
먼저 서브쿼리로 2개이상의 장소를 가지고있는 host_id를 찾아낼 쿼리가 필요하다.
이를 GROUP BY HOST_ID 로 묶어줬으며, HAVING을 이용하여 COUNT(*)이 2이상인 조건을 이용하여 HOST_ID를 찾아냈다.
select host_id from places group by host_id having count(*)>=2
이 서브쿼리는 그럼 2개이상의 장소를 소유한 HOST_ID를 가지고 있으므로, PLACES에서 HOST_ID가 위의 쿼리안에 포함되어있으면 출력하면 되므로
select * from places where host_id in (sub query);
가 된다. 서브쿼리( 장소를 2개이상 가지고있는 host_id) 안에 포함되어있는 host의 ID,NAME,HOST_ID를 출력해주면 된다.
-코드-
select * from places where host_id in (select host_id from places group by host_id having count(*)>=2);
반응형