Develop/Daily Algorithm Practice 공략집

[오늘의 알고리즘 1문제] - <동명 동물 수 찾기>

쿼카홀릭 2025. 1. 14. 10:04

2025.01.14(Tue.)

 

[오늘의 알고리즘 1문제] - 프로그래머스 MySQL

<동명 동물 수 찾기>

 

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

 

  • Raven 이름은 2번 쓰였습니다.
  • Lucy 이름은 3번 쓰였습니다
  • Shadow 이름은 1번 쓰였습니다.

따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

 

NAME COUNT
Lucy 3
Raven 2

 

<내가 쓴 답>

 

SELECT NAME,
       COUNT(NAME) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT >=2
ORDER BY NAME

 

정답입니다.

 

<체크해야 할 개념>

Having 절은 그룹에 대한 검색 조건을 지정할 때 사용한다.

Group by 절과 함께 사용되어 지정된 조건에 따라 그룹을 필터링 해준다.

Group by 절 바로 다음에 나온다.

Where 절은 지정된 조건에 따라 행을 필터링 하는 것이나,

Having 절은 지정된 조건에 따라 행 그룹을 필터링 해준다.