Coding Test/SQL 연습 문제

프로그래머스/MySQL - GROUP BY 03. 고양이와 개는 몇 마리 있을까

parkes811 2023. 1. 13. 15:59
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

  • 문제 

 

  • 코드 및 문제 풀이 
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count 
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY 
CASE ANIMAL_TYPE
 WHEN 'Cat' THEN 1
 WHEN 'Dog' THEN 2
 ELSE 3
END

- 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇마리인지 조회하기 위해서 ANIMAL_TYPE 끼리 그룹화해서 COUNT했습니다.

- 문제에서 고양이를 개보다 먼저 조회하라고 했기 때문에 ORDER BY에서 CASE를 사용해서 우선순위를 적용했습니다.

- ORDER BY ANIMAL_TYPE ASC를 사용해도 Cat이 Dog보다 우선순위가 높기 때문에 같은 결과를 조회합니다.

 

  • CASE 연산자

- CASE 연산자는 값을 서로 비교하거나, 표현식의 논리값에 따라 다른 값을 반환합니다.