알고리즘 문제/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/