본문 바로가기
DBMS

[프로그래머스 SQL] Lv. 2 동명 동물 수 찾기

by floral1215 2025. 3. 1.
반응형

※ 문제

 

※ 코드

-- 코드를 입력하세요
SELECT      NAME, COUNT
FROM        (SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME)
WHERE       COUNT > 1
ORDER BY    NAME;
-- 코드를 입력하세요
SELECT      NAME, COUNT(*)
FROM        ANIMAL_INS
WHERE       NAME IS NOT NULL
GROUP BY    NAME
HAVING      COUNT(*) > 1
ORDER BY    NAME;

 

※ 풀이

그룹화 문제네요. 그룹화된 결과에 대해 조건을 걸러야 하는데 SQL 명령어 순서는 다음과 같이

 

FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY

 

WHERE 절이 GROUP BY 절보다 앞에 있으므로, FROM 안에 이중 구문으로 그룹화를 먼저 수행해줍니다.

 

HAVING 절을 적용할 경우 아래와 같이 작성할 수도 있습니다.

반응형