자료구조 & 알고리즘ㅤ/ㅤ프로그래머스

[SQL] GROUP BY (2) 동명 동물 수 찾기

  • 테이블: ANIMAL_INS는 동물 보호소에 들어온 동물의 정보를 담은 테이블
  • 컬럼: ANIMAL_ID는 동물의 아이디, ANIMAL_TYPE는 생물 종, DATETIME는 보호 시작일, INTAKE_CONDITION는 보호 시작 시 상태, NAME는 이름, SEX_UPON_INTAKE는 성별 및 중성화 여부
NAME TYPE NULLABLE
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문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

 

 

 핵심스킬

  • HAVING

 

 풀이

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

 

 문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59041