반응형

 

 

 

 

프로그래머스 - 동명 동물 수 찾기 문제 중 일부

 

 

만약 위와 같은 데이터가 있다고 할 때 이름이 중복된 동물들의 모든 아이디를 조회해보려고 합니다.

 

그러나 아래와 같이 작성하여 실행할 시 이름이 중복된 동물들의 동물 아이디와 이름이 출력되지만 
중복된 동물들의 모든 아이디가 출력되지 않았습니다.

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1 
ORDER BY NAME

 

 

따라서 WHERE 절의 in을 사용해서 GROUP BY로 NAME을 묶어서 중복이 1개 이상이라는 조건을 설정합니다. 
아래와 같이 작성하면 이름이 중복된 동물들의 모든 아이디를 조회할 수 있습니다.

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME in (
		SELECT NAME
		FROM ANIMAL_INS
		GROUP BY NAME
		HAVING COUNT(NAME) > 1
)
ORDER BY NAME

 

 

 

 

 

 

반응형

+ Recent posts