코딩테스트/프로그래머스

동명 동물 수 찾기 MySQL(프로그래머스)

멍토 2020. 7. 17.

출처 : https://programmers.co.kr/learn/courses/30/lessons/59041

 

코딩테스트 연습 - 동명 동물 수 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제

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(NAME) > 1 
ORDER BY NAME

 

이름이 2번이상 쓰인 이름을 찾아야하는데 GROUP으로 묶은 후 조건문을 걸어야 하는겁니다.

GROUP으로 묶은 후에는 GROUP에 조건을 줄때는 WHERE절이 아니라 HAVING절을 사용하게 됩니다.


위와같은 조건을 만족하는 코드를 작성하게 되면 위와 같은 쿼리가 작성되게 됩니다.


※ AS를 이용하여 이름을 안바꾸면 정답처리가 안되서 추가했습니다.

 

댓글

💲 광고입니다.