조앤의 기술블로그
[프로그래머스 / SQL] 헤비 유저가 소유한 장소 (Oracle) 본문
[문제 설명]
https://programmers.co.kr/learn/courses/30/lessons/77487
테이블 - PLACES
ID - 공간의 기본키 (PK)
NAME - 공간의 이름
HOST_ID - 공간을 소유한 유저의 아이디
서비스에서 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 한다.
"헤비 유저"가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성하자.
[접근법 & 해설]
1. HOST_ID를 GROUP BY로 해서 헤비 유저를 구분해야겠다고 생각했다.
-> GROUP BY 사용법을 잘 몰랐다. 쿼리에서 많이 보긴 했는데 HAVING을 잘 몰라서 검색의 도움을 받았다.
2. 그 HOST_ID의 유저가 등록한 공간을 SELECT 하자 생각해서 WHERE~IN 절을 생각했다.
3. 아이디 순으로 -> ORDER BY ID
[쿼리]
SELECT ID, NAME, HOST_ID
FROM PLACES
WHERE HOST_ID IN
(SELECT HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(ID) > 1)
ORDER BY ID;
'Programming > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 3진법 뒤집기 (java) (0) | 2021.06.27 |
---|---|
[프로그래머스] 내적(java) (0) | 2021.06.27 |
[프로그래머스] 약수의 개수와 덧셈 (java) (0) | 2021.06.27 |
[프로그래머스] 음양 더하기 (java) (0) | 2021.06.27 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (java) (0) | 2021.06.27 |