반응형
※ 문제
※ 코드
-- 코드를 입력하세요
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 절을 적용할 경우 아래와 같이 작성할 수도 있습니다.
반응형
'DBMS' 카테고리의 다른 글
[프로그래머스 SQL] Lv. 2 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2025.03.09 |
---|---|
[프로그래머스 SQL] Lv. 2 중복 제거하기 (0) | 2025.03.01 |
[프로그래머스 SQL] Lv. 2 NULL 처리하기 (0) | 2025.03.01 |
[프로그래머스 SQL] Lv. 2 이름에 el이 들어가는 동물 찾기 (0) | 2025.03.01 |
[프로그래머스 SQL] Lv. 2 최솟값 구하기 (0) | 2025.03.01 |