반응형
오늘의 문제: 프로그래머스 > 중복 제거하기
요구조건
오늘의 문제는 다음의 요구조건을 만족해야 한다.
1. NAME의 개수를 세야 함 - COUNT
2. NAME 중 NULL인 것은 제외해야 함 - WHERE NAME IS NOT NULL
3. NAME의 중복을 제거해야 함 - DISTINCT
정답
SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME IS NOT NULL
기억해야 할 것
COUNT
COUNT
는 column에 대한 row의 개수를 세어 주는 것이다.
COUNT
는 기본적으로 모든 row를 세기 때문에, 중복을 제거하고 싶거나 null을 제거하고 싶으면 WHERE
절을 이용하여 조건을 추가해야 한다.
IS NOT NULL
WHERE
절에서 해당 값이 NULL인지, 아닌지를 판단하기 위해 IS NULL
, IS NOT NULL
을 이용할 수 있다.
DISTINCT
기본적으로 SQL문은 중복을 제거하지 않는다.
만약, 얻어지는 결과에서 중복을 제거하고 싶으면 SELECT 문에서 DISTINCT
를 이용해야 한다.
반응형
'잡다한 시도 > SQL 특별 관리 구역' 카테고리의 다른 글
[WITH RECURSIVE] 프로그래머스 - 입양 시각 구하기(2) (0) | 2021.06.02 |
---|