[GROUP BY] 고양이와 개는 몇 마리 있을까 ⭐⭐
카테고리: Programmers SQL
태그: DB SQL Coding Test
MySQL로 풀이했습니다.
출처 : 프로그래머스 https://programmers.co.kr/learn/challenges
📌 고양이와 개는 몇 마리 있을까
난이도 ⭐⭐
🚀 문제
🚀 내 풀이 ⭕
동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 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 를 사용하여야 한다.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기