본문 바로가기
갭알 ☠️/SQL

[프로그래머스/SQL] 중복 제거하기 (MySQL, Oracle)

by Niyaoh 2022. 8. 8.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

ANIMAL_INS 테이블

NAME TYPE NULLABLE INFO
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 VARHCAR(N) FALSE 성별 및 중성화 여부

 

[문제] 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

 

 

▼ 해석 및 풀이

MySQL & Oracle

/*
[테이블] : ANIMAL_INS
[컬럼명] : NAME (열 이름 'count')
[조건] : NAME의 개수를 조회하되, 중복되는 이름은 하나로 치고 NULL인 값은 제외.

DISTINCT : 중복되는 값을 하나로 침
COUNT(컬럼명) : 자동으로 NULL값을 제외한 모든 데이터 개수 조회
*/

SELECT COUNT(DISTINCT NAME) AS count FROM ANIMAL_INS;

댓글