-
<프로그래머스> 헤비 유저가 소유한 장소코딩테스트/SQL 코딩테스트 2023. 12. 28. 16:41
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/77487
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제 요구사항
- 서비스에서 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 할 때
- 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회
공간을 등록한 사람의 ID는 HOST_ID이다.
헤비 유저 조건(공간을 둘 이상 등록한 유저)을 조회하기 위해서 WHERE절에 서브쿼리로 조건을 입력해주기로 한다.
PLACES 테이블에서 HOST_ID를 기준으로 GROUP BY 했을 때
COUNT(*)의 수가 2보다 크거나 같은 HOST_ID를 HAVING 절로 조회하면 헤비유저를 조회할 수 있다.
WHERE절에서 작성된서브쿼리에서 다중행이 조회 되기 때문에 다중행 비교 연산자인 IN을 사용한다.
이렇게 조회된 HOST_ID 조건을 만족하는 유저에 대해서 테이블 전체칼럼을
ID를 기준으로 오름차순 정렬하여 조회한다.
1) Oracle
SELECT * FROM PLACES WHERE HOST_ID IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(*)>=2) ORDER BY ID
2) MySQL
SELECT * FROM PLACES WHERE HOST_ID IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(*)>=2) ORDER BY ID
'코딩테스트 > SQL 코딩테스트' 카테고리의 다른 글
<프로그래머스> 조회수가 가장 많은 중고거래 게시판 첨부파일 조회하기 (0) 2023.12.28 <프로그래머스> 우유와 요거트가 담긴 장바구니 (0) 2023.12.28 <프로그래머스> 자동차 평균 대여 기간 구하기 (0) 2023.12.28 <프로그래머스> 년, 월, 성별 별 상품 구매 회원 수 구하기 (2) 2023.12.22 <프로그래머스> 서울에 위치한 식당 목록 출력하기 (1) 2023.12.22 - 문제 요구사항