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

[SQL] SUM,MAX,MIN (4) 중복 제거하기

  • 테이블: 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 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

 

 

 핵심스킬

  • COUNT(DISTINCT _)
  • WHERE _ IS NOT NULL

 

 풀이

SELECT
    COUNT(DISTINCT NAME) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
;

 

 문제 링크

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