[Programmers] 고양이와 개는 몇 마리 있을까
정답
-- ANIMAL_INS: ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
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
;
✅ Point
- COUNT 에 기준이 될 column 넣기
- 종류별로 집계하고 싶으면 GROUP BY는 필수
- GROUP BY 없이 COUNT()만 쓰면 결과 해석이 잘못될 수 있음!
- 만약 GROUP BY를 적용하지 않는다면?
- 집계 함수(count)가 들어갔지만 그룹핑을 안 했기 때문에, MySQL은 무작위로 하나의 ANIMAL_TYPE을 대표로 출력하면서 전체 건수를 보여줌.
- 만약 GROUP BY를 적용하지 않는다면?