728x90
🔗 Problem Link
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
❔Thinking
- HOST_ID가 두 번 이상 등장한 유저의 정보를 출력한다.
💻Solution
1. IN을 활용한 풀이
SELECT ID, NAME, HOST_ID
FROM PLACES
WHERE HOST_ID in (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(HOST_ID)>=2)
ORDER BY ID
2. EXISTS를 활용한 풀이
SELECT * FROM PLACES P1
WHERE EXISTS (
SELECT * FROM PLACES P2
WHERE P1.HOST_ID = P2.HOST_ID
GROUP BY HOST_ID
HAVING COUNT(ID) >= 2
)
ORDER BY ID
🗝️keypoint
- HOST_ID가 등장한 횟수를 구하고, 여기서 두 번 이상 등장한 HOST_ID를 골라내야 한다.
- EXISTS를 활용하면 해당 값의 유무만 판단할 뿐, 실제 데이터를 확인하지 않기 때문에 보다 효율적이다.
'코딩테스트 > MySQL' 카테고리의 다른 글
[Programmers] Level 2. 조건별로 분류하여 주문상태 출력하기 (0) | 2022.12.26 |
---|---|
[Programmers] Level 2. 진료과별 총 예약 횟수 출력하기 (0) | 2022.11.30 |
[Programmers] Level 2. 상품 별 오프라인 매출 구하기 (0) | 2022.11.26 |
[Programmers] Level 2. 3월에 태어난 여성 회원 목록 출력하기 (0) | 2022.11.25 |
[Programmers] Level 2. 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2022.11.11 |