# 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/59408
# Answer
SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
# Comment
동물의 이름이 몇 개인지를 출력하는 문제이며, 추가 조건은 이름이 NULL이면 카운트하지 않고, 중복된 이름은 하나로 카운트해야 한다. 여러 가지 풀이 방법을 생각해보다 DISTINCT를 써야겠다고 생각했다. DISTINCT는 하나의 열에서 중복된 값은 하나로 만들어주는 것이다. 즉, 중복된 값을 제거해주는 것이다.
위 표를 가지고 COUNT(NAME)를 할 때, 사람이 4명이니 4라고 출력이 된다고 가정하면,
COUNT(DISTINCT NAME)는 중복된 값 '김아무'를 하나로 취급해주어, 3이라고 출력한다.
'CS > 데이터베이스' 카테고리의 다른 글
[Level 2] DATETIME에서 DATE로 형 변환 (0) | 2022.03.03 |
---|---|
[Level 2] 중성화 여부 파악하기 (0) | 2022.03.01 |
[Level 2] NULL 처리하기 (0) | 2022.02.27 |
[Level 2] 입양 시각 구하기(1) (0) | 2022.02.27 |
[Level 2] 동물 수 구하기 (0) | 2022.02.26 |