알고리즘 문제/programmers
[프로그래머스-DB] 동명 동물 수 찾기
HAyooni
2022. 4. 1. 13:02
[문제]
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문 작성 이때, 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회
- 두 번 이상 쓰인 이름
- 해당 이름이 쓰인 횟수
- 이름이 없는 동물 집계에서 제외
- 이름 순으로 결과 조회
[POINT]
- 해당 이름이 쓰인 횟수를 조회하기 위해 NAME을 GROUP BY 를 이용해 그룹으로 묶어 COUNT 합니다.
- 두 번 이상 쓰인 이름이라는 조건이 있기 때문에 그룹에 대한 조건은 HAVING절에 작성합니다.
[문제풀이]
1. 두 번 이상 쓰인 이름을 조회하기 위해 HAVIG절에 COUNT(NAME) >=2 를 작성합니다.
2. 해당 이름이 쓰인 횟수를 조회하기 위해 SELECT절에 NAME(COUNT) 를 작성합니다.
3. 이름이 없는 동물은 집계에서 제외시키기 위해 WHERE절에 NAME IS NOT NULL을 작성합니다.
4. 이름 순으로 결과 조회하기 위해 ORDER BY NAME을 작성합니다.
SELECT NAME, COUNT(NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME;
출처 : 프로그래머스 코딩 테스트 https://programmers.co.kr/