본문 바로가기
SEO's Study/프로페셔널한 이야기

프로그래머스 코딩테스트 :: MySQL 동물 수 구하기 / 중복제거

by 신SEO세오 2020. 9. 18.
반응형

 

 

[접속 사이트] 프로그래머스 programmers.co.kr

[문제1] ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블이다.

          동물 보호소에 동물 몇마리가 들어왔는지 조회하는 SQL문을 작성하시오. 

 

 

[나의 풀이 - 동물 수 구하기]

동물이 몇마리가 들어왔는지 알기 위해서는 ANIMAL_ID의 개수를 세면 되겠죠. 

생물의 종이나 보호 시작일 등의 개수를 세도 되겠지만, 가장 먼저 제공되는 동물의 ID를 기준으로 count 했습니다.

SELECT count(ANIMAL_ID)
from ANIMAL_INS

 

[실행 결과]

 

 

[문제2] ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블이다.

            동물보호소에 들어온 동물의 이름은 몇개인지 조회하는 SQL문을 작성하시오. 

            단, 이름이 NULL인 경우는 집계하지 않으며, 중복되는 이름은 하나로 합친다. 

 

[나의 풀이 - 중복제거]

중복된 데이터 없이 Count를 하기 위해서는 Distinct 연산자를 사용합니다. 

그리고 특정 키워드가 없는 데이터를 조회하기 위해서는 특정 키워드를 제외하는 NOT '컬럼명' = '제외 키워드' 명령어를 활용할게요.

 

-- NAME 컬럼의 중복제거 DISTINCT 사용
SELECT count(DISTINCT NAME)
from ANIMAL_INS
-- NAME 컬럼 중 NULL 값은 추출 
WHERE NOT NAME = "NULL"; 

 

[실행 결과]

반응형

댓글