[SQL-CodingTest] Lv2. 중복 제거하기
중복 제거하기
문제 정리
동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요.
이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
풀이
SELECT COUNT(DISTINCT name) AS count
from animal_ins
where name IS NOT NULL
정리
distinct
: 해당 컬럼의 값 중에서 중복을 제외한 값만 가져온다.SELECT DISTINCT 컬럼
🚨 distinct
사용시 주의할 점
DISTINCT 키워드는 옆에 온 모든 컬럼을 고려하여 중복 제거를 진행한다.
즉, SELECT DISTINCT COL1, COL2 …
를 진행할 경우, COL1과 COL2 값이 모두 동일한 row들을 1개로 친다.
다시 말해, DISTINCT 는 SELECT 구문에 여러 컬럼명이 올 때, 그 중 한 개에 대해서만 적용할 수 없다.
SELECT (DISTINCT COL1), COL2 FROM …
는 오류이다.
참고
💛 개인 공부 기록용 블로그입니다. 👻