-
반응형
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);
반응형'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 (0) 2021.05.14 [프로그래머스] 음양 더하기 (0) 2021.05.14 [프로그래머스] 다단계 칫솔 판매 (0) 2021.05.10 [프로그래머스] 행렬 테두리 회전하기 (0) 2021.05.10 [프로그래머스] 로또의 최고 순위와 최저 순위 (0) 2021.05.09 댓글