728x90
- 문제 핵심 조건
1. 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회
=> 모든 동물의 이름과 보호 시작일을 조회 : SELECT
=> 이름이 쓰인 횟수를 조회 : COUNT()
=> 동물 이름 중 두 번 이상 : 이름이 사용된 횟수를 집계 해야함 - GROUP BY, HAVING
2. 동물 보호소에 들어온 동물 이름 중 이름이 없는 동물은 집계에서 제외
=> 이름이 없는 동물은 집계에서 제외 : 서브쿼리 사용, IS NOT NULL
3. 결과는 이름 순으로 조회
=> ORDER BY
* 칼럼명 : NAME(이름)
- 정답 코드
SELECT NAME, COUNT(*)
FROM
(
SELECT *
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
)RESTABLE
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME;
- 문제링크 : 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
728x90
'알고리즘 > SQL' 카테고리의 다른 글
프로그래머스 보호소에서 중성화한 동물 (JOIN) (0) | 2020.11.20 |
---|---|
프로그래머스 없어진 기록 찾기 (JOIN) (0) | 2020.11.19 |
프로그래머스 아픈 동물 찾기 (SELECT) (0) | 2020.11.17 |
프로그래머스 역순 정렬하기 (SELECT) (0) | 2020.11.16 |
프로그래머스 모든 레코드 조회하기 (SELECT) (0) | 2020.11.15 |
댓글