<PLACES> 테이블 구조
<문제>
<문제 풀이>
SELECT *
FROM PLACES
WHERE HOST_ID in
(SELECT HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(HOST_ID) >= 2)
ORDER BY ID
WHERE COUNT(HOST_ID) >= 2 만 있는 3줄짜리 SQL 문으로 간단하게 생각이 들었으나
생각해보니 그러면 'PLACES 테이블에서 host_id 컬럼의 count 값이 2 이상이면 모든걸 다 출력해줘' 가 되는 상황이었다.
이래서 집계함수 (count 함수 같은) 는 where 절에 쓸 경우 group 절을 사용해야 하는구나 를 다시 한번 느꼈다!
그래서 where 절에 GROUP 과 HAVING을 사용한 서브쿼리를 사용하였다.
* 집계 함수 : SUM() , COUNT(), MIN(), MAX() 함수 같은 통계관련 함수
'IT > SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.01.24 |
---|---|
[MySQL] 프로그래머스 - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (1) | 2024.01.24 |
[MySQL] 프로그래머스 - 자동차 대여 기록에서 대여 중 / 대여 가능 여부 구분하기 (0) | 2024.01.23 |
[MySQL] 프로그래머스 - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.01.23 |
[MySQL] 프로그래머스 - 없어진 기록 찾기 (0) | 2024.01.23 |