[GROUP BY] 고양이와 개는 몇 마리 있을까 ⭐⭐

Date:     Updated:

카테고리:

태그:

MySQL로 풀이했습니다.
출처 : 프로그래머스 https://programmers.co.kr/learn/challenges

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

난이도 ⭐⭐

🚀 문제

image


🚀 내 풀이 ⭕

동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요.

SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count
FROM ANIMAL_INS
WHERE ANIMAL_TYPE IN ('Cat', 'Dog')
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE 
  • 실행 순서
    • FROM
    • WHERE 👉 고양이와 갱얼쥐 행들만 취급
    • GROUP BY 👉 같은 동물 타입 행들 별로 그룹 짓는다.
    • SELECT 👉 1 열 (그룹 지은 ANIMAL_TYPE), 2 열 (ANIMAL_TYPE 별로 카운팅한 결과) 출력
    • ORDER BY 👉 동물 타입 순으로 정렬

SQL 문 실행 순서

  • FROM 👉 WHERE 👉 GROUP BY 👉 HAVING 👉 SELECT 👉 ORDER BY 👉 LIMIT

WHERE 과 HAVING 의 차이

  • WHERE
    • 전체 테이블 대상
    • 집계 함수(COUNT, AVG, SUM, MAX, MIN) 사용 불가
      • 단 집계함수 말고 일반 함수는 사용 가능! 헷갈리지 말자
  • HAVING
    • GROUP BY 한 그룹화 테이블 대상
    • 집계 함수(COUNT, AVG, SUM, MAX, MIN) 사용 가능

SELECT A열, 집계함수(A열)

이런 형태일 경우 꼭 GROUP BY 를 사용하여야 한다.



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Programmers SQL 카테고리 내 다른 글 보러가기

댓글 남기기