본문 바로가기
Problem Solving/프로그래머스 SQL

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

by Libi 2021. 8. 10.
반응형

https://programmers.co.kr/learn/courses/30/lessons/59041

 

코딩테스트 연습 - 동명 동물 수 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

[ 문제풀이 ]

SQL 집계 함수 COUNT()와 특정 컬럼을 그룹핑하는 GROUP BY 문, 그룹핑할때 조건을 걸어주는 HAVING 절을 활용할 수 있는지를 묻는 문제이다.

NULL을 포함하지 않기 위해서는 해당 컬럼으로 COUNT() 함수를 사용해야 한다. 만약 다른 컬럼으로 COUNT() 함수를 사용하면 WHERE 절이나 HAVING 절로 NAME IS NOT NULL 조건을 걸어줘야 한다.

SELECT NAME, COUNT(NAME) AS 'COUNT'
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) >= 2 -- NAME이 아닌 다른 컬럼으로 COUNT()를 하면 NULL도 포함함
                        -- 이때는 WHERE절이나 HAVING 절을 통해 NAME IS NOT NULL 조건을 걸어줘야함
ORDER BY NAME ASC;

 

 

반응형

댓글