[프로그래머스_SQL] Lv.2 동명 동물 수 찾기

2026. 3. 15. 12:15·코딩테스트/SQL

[프로그래머스 SQL] 동명 동물 수 찾기 Lv.2

카테고리: SQL · GROUP BY · HAVING
플랫폼: 프로그래머스
난이도: Level 2


📋 문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.

NAMETYPENULLABLE
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_IDANIMAL_TYPEDATETIMENAME
A396810 Dog 2016-08-22 Raven
A377750 Dog 2017-10-25 Lucy
A355688 Dog 2014-01-26 Shadow
A399421 Dog 2015-08-25 Lucy
A400680 Dog 2017-06-17 Lucy
A410668 Cat 2015-11-19 Raven

출력

NAMECOUNT
Lucy 3
Raven 2

내 풀이

SELECT 
  NAME,
  COUNT(NAME) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME;

공부 포인트

1. HAVING vs WHERE

  • WHERE는 그룹화 전에 필터링
  • HAVING은 그룹화 후 조건 지정 (집계 조건 필터링)

2. NULL 처리

  • GROUP BY나 COUNT할 때, NULL 값은 그룹 이름으로 포함되지만
  • 이 문제에서는 WHERE NAME IS NOT NULL로 아예 제외함

 추가 팁

  • 상위 인기 이름만 보고 싶다면 ORDER BY COUNT DESC LIMIT N 같이 조합 가능
  • 대소문자 구분이 민감한 환경이라면 LOWER(NAME) 등을 활용하여 통일 처리할 수 있습니다.

 마무리 요약

이번 문제는 GROUP BY, COUNT, HAVING, ORDER BY의 조합을 익힐 수 있는 실무형 SQL 예제다.
특히 중복 조건 필터링(HAVING COUNT >= 2)은 데이터 요약과 통계 분석 시 자주 사용되는 핵심 패턴이므로 꼭 외워야한다.


이상입니다. 혹시나 제가 잘못된 내용을 작성했거나
더 좋은 방법이 있다면 댓글 남겨주세요.
지금까지 이 글을 봐주셔서 감사합니다.

'코딩테스트 > SQL' 카테고리의 다른 글

[프로그래머스_SQL] Lv.2 진료과별 총 예약 횟수 출력하기  (0) 2026.03.31
[프로그래머스_SQL] Lv.2 가격이 제일 비싼 식품의 정보 출력하기  (0) 2026.03.21
[프로그래머스_SQL] Lv.1 조건에 맞는 아이템들의 가격의 총합 구하기  (0) 2026.03.17
[프로그래머스_SQL] Lv.1 잡은 물고기 중 가장 큰 물고기의 길이 구하기  (0) 2026.03.16
'코딩테스트/SQL' 카테고리의 다른 글
  • [프로그래머스_SQL] Lv.2 진료과별 총 예약 횟수 출력하기
  • [프로그래머스_SQL] Lv.2 가격이 제일 비싼 식품의 정보 출력하기
  • [프로그래머스_SQL] Lv.1 조건에 맞는 아이템들의 가격의 총합 구하기
  • [프로그래머스_SQL] Lv.1 잡은 물고기 중 가장 큰 물고기의 길이 구하기
byhy0
byhy0
byhy0 님의 블로그 입니다.
  • byhy0
    byhy0 님의 블로그
    byhy0
  • 전체
    오늘
    어제
    • 분류 전체보기 (62)
      • T아카데미 (4)
      • Project (2)
      • Airflow (4)
      • Python (16)
        • Django (0)
      • Java (1)
      • Spring (4)
        • Board Project (3)
      • SQL (3)
      • Docker (1)
      • 클라우드 (2)
      • Error (3)
      • Git (5)
      • 코딩테스트 (12)
        • SQL (5)
        • Python (7)
      • TIL (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    T아카데미 #면접 #데이터 엔지니어 #K-Digital Traning
    API 요청 #API
    vscode #git #git연동법
    T아카데미 #2주차 회고 #데이터 엔지니어 2기
    Spring
    T아카데미 #SK플래닛 #회고 #1주차
    python #pytest #테스트
    #Python #정규표현식 #Regex #웹크롤링 #데이터처리
    git #github #repository 생성
    programmers #SQL #코딩테스트
    programmers # 코딩테스트 #sql
    #클라우드 #클라우드컴퓨팅 #CloudComputing #온프레미스 #CS기초 #IT인프라 #서버
    T아카데미#SK플래닛#데이터엔지니어2기
    오블완
    BigQuery #SQL
    push #pull #git연동
    Git #설치법
    티스토리챌린지
    venv #파이썬 가상환경 #가상환경
    게시판
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
byhy0
[프로그래머스_SQL] Lv.2 동명 동물 수 찾기
상단으로

티스토리툴바