SQL

[프로그래머스] SQL - GROUP BY, 동명 동물 수 찾기

햄스텅 2022. 7. 27. 16:14

<문제 설명>

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

 

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

 

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

<풀이>

조회할 칼럼 NAME과 중복된 이름의 수를 COUNT로 계산하고 이름을 붙인 후, 테이블 명을 작성한다.

중복된 값이라는 조건을 충족시키기 위해 GROUP BY 를 사용하고, 조건절 HAVING으로 1초과인 값을 출력해준다.

ORDER BY 이름순으로 조회한다.