본문 바로가기

Algorithm/SQL

(MYSQL) - 프로그래머스 (SQL 고득점 kit - GROUP BY) : 고양이와 개는 몇 마리가 있을까

반응형

programmers.co.kr/learn/courses/30/lessons/59040

 

코딩테스트 연습 - 고양이와 개는 몇 마리 있을까

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

programmers.co.kr

GROUP BY를 사용해보는 문제였습니다.

 

풀이방법

 1. 열 정하기 : 먼저 ANIMAL_INS 테이블로 부터 선택할 두개의 열을 SELECT로 정합니다. ANIMAL_TYPE과 ANIMAL_TYPE의 특정 행 개수를 센 결과 값 열 두 개입니다.

 

 2. 열 이름 바꾸기 : 예시에서 두 번째 열이 count로 되어 있으므로 as를 이용해 열의 이름을 바꿔줍니다.

 

 3. 그룹화해줄 열을 지정합니다. GROUP BY를 이 때 사용합니다. 해당 절을 실행시에 선택한 열의 값들이 같은 것끼리 묶이게 됩니다.

 

 4. 정렬하기 : 예시에서는 'Cat' 의 C가 'Dog'의 D보다 앞서기 때문에 ORDER BY를 안써도 정답이 나오는 것 같으나 제출시 답이 아닙니다. 따라서 명확히 오름차순으로 결과값이 표현되도록 사용해야합니다.

 

Code

SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE