~고군분투 인생살이~

[GROUP BY] 동명 동물 수 찾기 본문

SQL/프로그래머스

[GROUP BY] 동명 동물 수 찾기

소금깨 2022. 5. 20. 18:58

문제 설명

 

풀이 과정

해당 이름이 쓰인 횟수를 조회한다 

=> GROUP BY를 통해 이름을 그룹화 한 다음 COUNT 해야한다

 

두 번 이상 쓰인 이름 

=> 그룹 함수로 검색 조건을 작성할 때는 WHERE 절을 사용할 수 없어 HAVING절을 사용해야 한다.

 

이름 없는 동물은 집계에서 제외

=> IS NOT NULL을 통해 집계에서 제외시키기 

=> 하지만 COUNT(name) 과정에서 자동으로 NULL을 제외시킴.

 

결과는 이름 순으로 조회

=> ORDER BY

정답

SELECT name, COUNT(name) AS COUNT
FROM animal_ins
GROUP BY name
HAVING COUNT(name) >=2
ORDER BY name;

-- 만약 NOT NULL 조건을 넣었더라면
SELECT name, COUNT(name) AS COUNT
FROM animal_ins
WHERE name IS NOT NULL
GROUP BY name
HAVING COUNT(name) >=2
ORDER BY name;
Comments