본문 바로가기
내일배움캠프/Daily Routine (SQL)

[내일배움캠프] SQL Daily Routine 6. 동명 동물 수 찾기

by TIP__ 2024. 8. 1.

안녕하세요.
6회차 과제 "동명 동물 수 찾기"입니다.

문제 설명

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

-. 데이터는 animal_ins에서 가져온다.
group by name

-. 동일한 이름을 그룹핑한다.
having count > 1

-. 이름의 수량이 1을 초과하는 것만 가져온다.

-. 이걸 배우지 못해서 한참 where 코드로 어떻게 해야 하나 고민했습니다.

-. 결국... 컨닝을 통해서 할 수 밖에 없었습니다.

-. where의 경우 한 개체를 대상으로 하기 때문에 Group에는 적용이 힘든 거 같습니다.
order by name asc

-. 이름 순서대로 정렬한다.

 

저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.

댓글