현재
[level 2] 동명 동물 수 찾기 - 59041 본문
# [level 2] 동명 동물 수 찾기 - 59041 [문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/59041) ### 성능 요약 메모리: 0.0 MB, 시간: 0.00 ms ### 구분 코딩테스트 연습 > GROUP BY ### 채점결과 Empty ### 제출 일자 2023년 11월 6일 9:35:26 ### 문제 설명
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
| NAME | TYPE | NULLABLE |
|---|---|---|
| ANIMAL_ID | VARCHAR(N) | FALSE |
| ANIMAL_TYPE | VARCHAR(N) | FALSE |
| DATETIME | DATETIME | FALSE |
| INTAKE_CONDITION | VARCHAR(N) | FALSE |
| NAME | VARCHAR(N) | TRUE |
| SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.
예시
예를 들어 ANIMAL_INS 테이블이 다음과 같다면
| ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
|---|---|---|---|---|---|
| A396810 | Dog | 2016-08-22 16:13:00 | Injured | Raven | Spayed Female |
| A377750 | Dog | 2017-10-25 17:17:00 | Normal | Lucy | Spayed Female |
| A355688 | Dog | 2014-01-26 13:48:00 | Normal | Shadow | Neutered Male |
| A399421 | Dog | 2015-08-25 14:08:00 | Normal | Lucy | Spayed Female |
| A400680 | Dog | 2017-06-17 13:29:00 | Normal | Lucy | Spayed Female |
| A410668 | Cat | 2015-11-19 13:41:00 | Normal | Raven | Spayed Female |
- Raven 이름은 2번 쓰였습니다.
- Lucy 이름은 3번 쓰였습니다
- Shadow 이름은 1번 쓰였습니다.
따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.
| NAME | COUNT |
|---|---|
| Lucy | 3 |
| Raven | 2 |
본 문제는 Kaggle의 "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
<풀이코드>
문제를 풀면서 순서에 관한 문제가 있었다.
select -> from -> where -> group by -> having -> order by 나는 group by 뒤에 where 절을 써서 문제가 있었던것 같다.
SELECT name, count(name) as count
from animal_ins
group by name
having count(name) >= 2
order by name asc;
'DataBase > 프로그래머스SQL문제(oracle)' 카테고리의 다른 글
| [level 2] 가격대 별 상품 개수 구하기 - 131530 + trunc, ceil (1) | 2023.11.25 |
|---|---|
| [level 2] 입양 시각 구하기(1) - 59412 (1) | 2023.11.25 |
| [level 2] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 - 151137 + like (0) | 2023.11.24 |
| [level 4] 서울에 위치한 식당 목록 출력하기 - 131118 (1) | 2023.11.24 |
| [level 1] 조건에 맞는 회원수 구하기 - 131535 + fetch (0) | 2023.11.24 |