최대 1 분 소요

중복 제거하기

문제 정리

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 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 …는 오류이다.

참고

ChanBLOG



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기