잠깐!

※ 본 포스팅은 개인공부를 위한 오답노트 입니다.

※ 직접 풀어보는 습관을 기르도록 합시다.

문제출처 : https://programmers.co.kr/learn/courses/30/lessons/59408?language=oracle 

 

코딩테스트 연습 - 중복 제거하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

코드

SELECT COUNT(NAME)
    FROM (SELECT NAME FROM ANIMAL_INS GROUP BY NAME)

문제풀이

지문  이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

를 주의해서 풀면된다.

오답노트

SQL을 손에 익히기 전이라 DISTINCT를 기억못하고 어디에 써야할지도 헷갈려했다...

DISTINCTNOT NULL을 사용하면 다음과 같이 사용할 수 있다.

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

 

+ Recent posts