본문 바로가기
Database

[프로그래머스 SQL - SUM, MAX, MIN] 중복 제거하기

by 진홍이 2021. 6. 28.
728x90

중복 제거하기

문제설명

예시

문제에서 원하는건 두가지 입니다. 

  • 동물의 이름이 중복일 경우 하나로 카운트
  • NULL값 제외

먼저 이름이 NULL인 동물부터 제거를 해보겠습니다. 

SELECT 
    *
FROM 
    ANIMAL_INS
WHERE 
    NAME IS NOT NULL

IS NOT NULL을 사용해 

NAME이 NULL이 아닌 데이터들만 불러왔습니다. 

 

그럼 DISTINCT 함수를 사용해 결과를 출력하겠습니다. 

 

DISTINCT함수는 중복을 제거해주는 간편한 함수입니다.

형식은 DISTINCT 원하는 컬럼으로 사용해 주시면 됩니다.

 

SELECT 
    DISTINCT NAME
FROM 
    ANIMAL_INS
WHERE 
    NAME IS NOT NULL

이렇게하면 중복이 제거된 동물이름을 모두 확인 하실 수 있습니다. 

 

하지만 문제에서 원하는 것은 동물 이름의 수 이기때문에 COUNT함수를 사용해서 갯수를 뽑아보겠습니다.

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

이렇게 작성하시면 원하는 결과를 얻을 수 있습니다.

 

출처:[프로그래머스 코딩테스트 연습] - https://programmers.co.kr/learn/courses/30/lessons/59408

728x90