SQL/프로그래머스 SQL

MySQL 프로그래머스 SQL 고득점 Kit 고양이와 개는 몇 마리 있을까 문제 답

진리뷰 2023. 9. 19. 09:00
반응형

 

 

MySQL-프로그래머스-SQL-고득점-Kit-고양이와-개는-몇-마리-있을까-문제-답-썸네일
고양이와 개는 몇 마리 있을까 문제 정리

 

 

프로그래머스 SQL 고득점 Kit  '고양이와 개는 몇 마리 있을까' 문제, 답을 공유합니다.

*이 글은 MySQL 버전입니다.

 

 

 

고양이와 개는 몇 마리 있을까 문제 설명

 

문제 설명의 특별한 점은 없어 보입니다.

프로그래머스-고양이와-개는-몇-마리-있을까-문제-설명
고양이와 개는 몇 마리 있을까 문제 설명

 

 

 

고양이와 개는 몇 마리 있을까 문제

 

  • 문제 의도: GROUP BY 사용.
  • 동물 중 고양이와 개의 수만 조회.
  • 개보다 고양이가 먼저 오도록 정렬 필요.

프로그래머스-고양이와-개는-몇-마리-있을까-문제
고양이와 개는 몇 마리 있을까 문제

 

 

 

고양이와 개는 몇 마리 있을까 답

 

  • 여러 개(cat, dog)를 선택하기 위해 IN 사용.
  • 동물 별 수를 카운트해야 하므로, GROUP BY animal_type 사용.
  • 고양이 Cat, 강아지 Dog이므로 오름차순 ASC 사용했으나 생략함.
  • 문제 예시에 따라, COUNT(animal_type)을 count로 별칭 사용.

 

SELECT

               animal_type,

               COUNT(animal_type) count

FROM animal_ins

WHERE

             animal_type IN ('cat', 'dog')

GROUP BY animal_type

ORDER BY 1;

 

 

 

고양이와 개는 몇 마리 있을까 문제 추가 정리

 

이 문제는 cat을 dog보다 먼저 정렬해야 한다.

다행히도(?) 알파벳 순서 상 c가 d보다 우선이기에, 단순 오름차순 정렬 처리했다.

하지만 이처럼 특정 값 정렬할 때  ORDER BY FILED를 사용할 수 있다.

괄호 안에 입력한 값의 순서대로 정렬되기에 값 1, 값 2,..., 값 N 순으로 우선 정렬된다.

ORDER BY FIELD (컬럼명, 값1, 값2,..., 값N);

 

SELECT

               animal_type,

               COUNT(animal_type) count

FROM animal_ins

WHERE

             animal_type IN ('cat', 'dog')

GROUP BY animal_type

ORDER BY FIELD(animal_type, 'cat', 'dog');

반응형
top