[프로그래머스] 헤비 유저가 소유한 장소

당당·2023년 7월 2일
0

프로그래머스

목록 보기
221/245

https://school.programmers.co.kr/learn/courses/30/lessons/77487

📔문제

PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 나타냅니다. ID는 기본키입니다.

NAMETYPE
IDINT
NAMEVARCHAR
HOST_IDINT

이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요.


📝예시

예를 들어, PLACES 테이블이 다음과 같다면

IDNAMEHOST_ID
4431977BOUTIQUE STAYS - Somerset Terrace, Pet Friendly760849
5194998BOUTIQUE STAYS - Elwood Beaches 3, Pet Friendly760849
16045624Urban Jungle in the Heart of Melbourne30900122
17810814Stylish Bayside Retreat with a Luscious Garden760849
22740286FREE PARKING - The Velvet Lux in Melbourne CBD30900122
22868779★ Fresh Fitzroy Pad with City Views! ★21058208

760849번 유저는 공간을 3개 등록했으므로 이 유저는 헤비유저입니다. 30900122번 유저는 공간을 2개 등록했으므로 이 유저는 헤비유저입니다. 21058208번 유저는 공간을 1개 등록했으므로 이 유저는 헤비유저가 아닙니다.

따라서 SQL 문을 실행하면 다음과 같이 나와야 합니다.

IDNAMEHOST_ID
4431977BOUTIQUE STAYS - Somerset Terrace, Pet Friendly760849
5194998BOUTIQUE STAYS - Elwood Beaches 3, Pet Friendly760849
16045624Urban Jungle in the Heart of Melbourne30900122
17810814Stylish Bayside Retreat with a Luscious Garden760849
22740286FREE PARKING - The Velvet Lux in Melbourne CBD30900122

🧮분야

  • GROUP BY

📃SQL 코드

select id, name, host_id
from places
where host_id in(select host_id
                from places
                group by host_id
                having count(*)>=2)
order by id;

📰출력 결과


📂고찰

먼저 서브 쿼리를 이용해서 헤비 유저host_id를 추출해내서 그것에 포함된 id, name, host_id만 출력했다.

profile
MySQL DBA 신입 지원

0개의 댓글