코테/SQL

[프로그래머스] 레벨02. 중복 제거하기.

slown 2023. 3. 6. 19:11

문제

 

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. 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인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

 

요구사항

1.보호소에 들어온 동물의 이름

2.이름이 NULL인 경우에는 집계를 하지 않는다.

 

작성답안

SELECT
    COUNT(DISTINCT(NAME)) AS NAME
FROM
    ANIMAL_INS

name컬럼에서 null인 경우도 있으니 distinct()를 사용해서 중복처리를 막고 그 다음에 count()로 해당 컬럼에 있는 수를 

카운트 한 뒤 NAME으로 별칭을 달면 끝나는 간단한 문제이다.