안녕하세요.
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
-. 이름 순서대로 정렬한다.
저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.
'내일배움캠프 > Daily Routine (SQL)' 카테고리의 다른 글
[내일배움캠프] SQL Daily Routine 8. 상위 n개 레코드 (0) | 2024.08.01 |
---|---|
[내일배움캠프] SQL Daily Routine 7. 아픈 동물 찾기 (0) | 2024.08.01 |
[내일배움캠프] SQL Daily Routine 5. 동물 수 구하기 (0) | 2024.08.01 |
[내일배움캠프] SQL Daily Routine 4. 동물의 아이디와 이름 (0) | 2024.08.01 |
[내일배움캠프] SQL Daily Routine 3. 중복 제거하기 (0) | 2024.08.01 |
댓글