본문 바로가기

문돌이 존버/DB 및 SQL 스터디

(프로그래머스 SQL 문제 풀이) 동물 수 구하기/중복 제거하기

반응형

SELECT COUNT(*) AS 'count' FROM ANIMAL_INS

# 문제가 원한 쿼리문
SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
# 테스트 결과는 맞지만 정답으로 인정되지 않음
SELECT COUNT(*) FROM ANIMAL_INS
WHERE NAME IS NOT NULL
AND NAME NOT IN (
    SELECT B.NAME FROM (
        SELECT *
        FROM ANIMAL_INS A
        GROUP BY A.NAME
        HAVING COUNT(A.NAME) > 2
        ) B
    );

간단하게 중복을 제외한 데이터를 보고자 한다면 DISTINCT를 꼭 쓰도록...!

728x90
반응형